検索

ホームページ  >  に質問  >  本文

タイトルを次のように書き換えました: エラー: "SyntaxError: """ は有効な JSON 形式ではありません"

<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粉716228245P粉716228245462日前486

全員に返信(2)返信します

  • P粉738248522

    P粉7382485222023-08-23 11:56:34

    このエラーを回避するには、これを試してください:

    リーリー

    返事
    0
  • P粉505450505

    P粉5054505052023-08-23 11:42:19

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

    したがって、

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

    だから、必要ありません

    リーリー

    直接書くこともできます

    リーリー

    返事
    0
  • キャンセル返事