我试图通过ajax获取一些数据,但由于某种原因,它只在Chrome和IE中的控制台中出错。它在Firefox中运行良好。
这是我的代码:
PHP
function get_data() {
$data = array( 'value' => '50', 'type' => 'box' );
echo json_encode($data);
exit;
}
JS
$(".click").click(function() {
var data = {
action: "get_data"
};
$.post( "http://domain.com/", data, function(response) {
var newResponse = $.parseJSON(response);
console.log(newResponse);
});
});
所以这段代码在Firefox中运行良好,但由于某种原因它在Chrome和IE中无效...在Chrome中,它甚至在出错之前都没有访问console.log函数。
感谢您的光临。
答案 0 :(得分:1)
我想它应该没有.parseJSON。就像这样,至少它对我有用:
$.ajax({
url: "url...",
type: "post",
data: data,
success: function (data) {
if (data.Result) {
data.value1;
data.value2;
} else {
// do something else
}
}
});
数据只是我的类型,如{value1:'123',value2:'345',结果:true}
答案 1 :(得分:0)
您使用的是哪个版本的jQuery?旧版本对返回的JSON文件中的空格不太宽容
答案 2 :(得分:0)
好好经过几个小时的努力来弄清楚什么是错的,我终于发现在ajax网址上存在某种重定向问题。不确定重定向是如何到达的,但是一旦我删除它,一切都开始工作了。顺便说一句,它不影响Firefox只是因为我登录了该网站。我想重定向有一些检查,如果一个人登录,不要重定向ajax网址。
但无论如何,我只是想分享一下,以防其他人遇到与我相同的问题,而代码是正确的,但仍无效。
我还要特别感谢菲利克斯不遗余力地帮助我。