【发布时间】:2011-08-25 05:47:49
【问题描述】:
我有一个 jQuery AJAX 代码,它从 php 文件中接收 JSON 类型的数据。没有 dataType: "json" 一切正常。但我需要 JSON 类型的数据。收到的文本是有效的 JSON 代码
{"ok":"false","answer":"所有字段都必须填写"}
但是当我使用 dataType 时,我得到了一个错误
对象 "parsererror" SyntaxError
这是 JS 代码:
$.ajax({
url : "testing/regtest.php",
type : "POST",
dataType: "json",
data : {
mail : $('#mail_field').val(),
username : $('#username_field').val(),
password : $('#password_field').val(),
password_2 : $('#rep_password_field').val()
},
success : function(data) {
console.log(data.ok);
},
error: function(a,b,c) { console.log(a,b,c); }
});
感谢您的帮助!
更新:
这是php服务器端代码:
http://jsfiddle.net/VfQbz/1/
更新 2:它适用于 IE9,但不适用于 chrome
【问题讨论】:
-
服务器端脚本工作正常吗? JS 本身看起来不错。
-
是的。服务器端一切正常
-
这个错误到底发生在哪里?服务器端还是客户端?
-
检索到的 JSON 是否有效?已经尝试过jsonlint.com?对我来说似乎是一个解析问题
-
客户端。它只发生在 dataType 设置为 jQuery 的情况下。检索到的 JSON 有效。
标签: php javascript jquery ajax json