标题重写为:错误:'SyntaxError:”'”不是合法的JSON格式'
P粉716228245
P粉716228245 2023-08-22 17:53:58
0
2
373

我有一个关于以下代码的问题。 console.log 的输出是:

我通过JavaScript的Ajax请求请求的URL是“login.php”:

getUsersLogin($username); if (!empty($user) && $user[0]['login'] == $username) { $json = json_encode(array("success" => 1)); echo $json; } else { $json = json_encode(array("success" => 0)); echo $json; } } ?>

我的JavaScript的Ajax请求:

$(() => { $('.login-form').on('submit', function (e) { e.preventDefault(); $.ajax({ type: "POST", dataType: "json", timeout: 500, url: '/src/login.php', data: $(this).serialize(), success: (data) => { try { var jso = JSON.parse(data); console.log(jso); } catch (e) { console.log(e); return false; } }, error: (data) => { console.log(JSON.parse(data)); } }); }); });

为什么PHP的响应{"success":1}不正确?问题是什么?

SyntaxError: “[object Object]”不是有效的JSON


P粉716228245
P粉716228245

全部回复 (2)
P粉738248522

尝试这样做以避免出现此错误:

myFunction(data: string) { try { JSON.parse(data); console.log(data); } catch (e) { console.log(e); } }
    P粉505450505

    如果你写了dataType: "json",那么jQuery会在进入"success"函数之前自动将你的响应解析为JSON。这在jQuery的$.ajax文档中有详细描述

    因此,data已经是一个对象。你不能将一个对象传递给JSON.parse()- 它需要一个字符串。

    所以,不需要

    var jso = JSON.parse(data); console.log(jso);

    你可以直接写

    console.log(data);
      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!