タイトルを次のように書き換えました: エラー: "SyntaxError: """ は有効な JSON 形式ではありません"
P粉716228245
P粉716228245 2023-08-22 17:53:58
0
2
336
<p>次のコードについて質問があります。 <em>console.log</em> の出力は次のとおりです: </p> <p>JavaScript Ajax リクエスト経由でリクエストした URL は「login.php」でした: </p> <pre class="brush:php;toolbar:false;"><?php include('init.php'); LoginLoginService を使用します。 #include(__DIR__.'/Login/LoginService.php'); グローバル $pdo; セッション開始(); $ユーザー名 = $_POST['ユーザー名']; $pass = $_POST['パスワード']; if (!empty($username)) { $test = 新しい LoginService(); $user = $test->getUsersLogin($username); if (!empty($user) && $user[0]['login'] == $username) { $json = json_encode(array("success" => 1)); $json をエコーし​​ます。 } それ以外 { $json = json_encode(array("success" => 0)); $json をエコーし​​ます。 } } ?></pre> <p>私の JavaScript Ajax リクエスト:</p> <pre class="brush:php;toolbar:false;">$(() => { $('.login-form').on('submit', function (e) { e.preventDefault(); $.ajax({ タイプ:「POST」、 データ型: "json"、 タイムアウト: 500、 URL: '/src/login.php', データ: $(this).serialize()、 成功: (データ) => { 試す { var jso = JSON.parse(data); コンソール.ログ(jso); } キャッチ (e) { コンソール.ログ(e); false を返します。 } }、 エラー: (データ) => { console.log(JSON.parse(data)); } }); }); });</pre> <p>PHP の応答 <code>{"success":1}</code> が間違っているのはなぜですか?何が問題ですか? </p> <ブロック引用> <p>SyntaxError: "[object Object]" は有効な JSON ではありません</p> </blockquote><p><br /></p>
P粉716228245
P粉716228245

全員に返信(2)
P粉505450505

dataType: "json" と記述すると、jQuery は「success」関数に入る前に応答を自動的に JSON に解析します。これについては、jQuery の $.ajax ドキュメントで 詳細に説明されています。

したがって、

data はすでにオブジェクトです。オブジェクトを JSON.parse() に渡すことはできません。文字列が必要です。

だから、必要ありません

リーリー

直接書くこともできます

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!