【发布时间】:2013-11-06 22:30:53
【问题描述】:
我有一个无法调试的 JSON 解析错误。代码如下:
$(document).on('submit', '#confirmreset', function(event) {
event.preventDefault();
var action_url = $(this).attr("action");
alert_box_register("Resetting password...");
console.log(action_url);
var postData = $(this).serializeArray();
console.log(postData);
$.post(action_url, postData, function(data) {
console.log(data);
var obj = $.parseJSON(data);
alert_box_register(obj.message);
});
});
还有 JSON:
{
"status": "success",
"message": "A temporary password has been emailed to you."
}
在 Firefox 中错误是“SyntaxError: JSON.parse: unexpected character”,在 Chrome 中是“Uncaught SyntaxError: Unexpected token C”
有什么想法吗?
*编辑:这适用于我的本地主机设置。 *
【问题讨论】:
-
这是有效的 JSONaspresented,所以我怀疑 real JSON 数据包含一个在翻译过程中没有出现的字符。
-
json是如何生成的?
-
你在哪里打电话
JSON.parse? -
它发生在
$.parseJSON(data),但我相信你知道。 -
不要解析回调里面的json。相反,告诉 jquery 它是 json。
$.post(action_url, postData, function(data){...}, "json")如果你的成功停止工作,这意味着你的服务器没有返回有效的 json。
标签: javascript jquery json