gpt4 book ai didi

javascript - 未捕获的语法错误 : Unexpected token a in JSON at position 0 at JSON. 解析(<匿名>)

转载 作者:行者123 更新时间:2023-11-30 11:37:20 24 4
gpt4 key购买 nike

我知道有很多关于此的问题,但很抱歉我真的对这个错误感到困惑......

我创建了一个登录页面,我使用 ajax 进行 POST 请求..当我使用它时会发生什么

$.ajax({
url:'../ajax/checklogin.php',
type:'POST',
dataType:'JSON',
data:$('form').serialize(),
success: function(result){
$.post("../www/login.php",{ users_id: JSON.parse(result.users_id)}).done(window.location.href='../www/index.php');
}
});

$.post 正在工作,但是当我尝试添加另一个字段进行解析时,我得到了这个错误。错误在 users_active 上。出于某种原因,我不知道为什么我得到了错误

$.post("../www/login.php",{ users_id: JSON.parse(result.users_id),users_active: JSON.parse(result.users_active)}).done(window.location.href='../www/index.php');

其他字段都很好,但唯一给我错误的字段是 users_active.. 我什至检查了返回的 json 数组,它们是有效的 json...

最佳答案

JSON.parse() 获取一个字符串并将其转换为 JavScript 对象。

你很幸运,JSON.parse("12345") 可以转换为 new Number("12345"),这确实是一个整数。

result.users_active 已经是一个 JavaScript 对象(或数组)或者可能是一个不代表 JSON 对象的字符串,因此解析将导致语法错误,如 https://www.w3schools.com/js/js_json_parse.asp 中所述.

我假设,您需要 JSON.stringify(),但为了确保这一点,您应该发布一些代码或您的结果对象。 https://www.w3schools.com/js/js_json_stringify.asp

编辑:现在我已经看到了对象,"active" 是一个简单的字符串,您不能去除引号。所以只需使用 users_active: result.users_active

关于javascript - 未捕获的语法错误 : Unexpected token a in JSON at position 0 at JSON. 解析(<匿名>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com