就在今天,我注意到我对IE有一个很大的问题。
我有一个循环,每5秒接收有关系统和用户的各种详细信息,并根据需要更新页面上的值。我只是通过检查HTML中所需的值来构建查询,例如:
var query = '?name=value&other=bar';
if($('input.something').attr('checked') == 'checked') {
query += '&more=info';
} 构建查询后,我使用$.get检索信息:
$.get('json_builder.php' + query, function(callback) {
alert(callback);
});我的回调是一个JSON字符串,我使用$.parseJSON(callback);将其转换为对象,并使用该对象访问数据。
除了IE之外,我在所有浏览器上都会收到带有JSON回调的警告,在IE中,我得到了“未定义”。
但是,请求是通过的,就像在developer部分中一样,我看到响应实际上在那里,但是由于某种原因,变量“回调”被保留为“未定义”。
我尝试过使用$.getJSON而不是$.get --同样的结果。
发布于 2012-12-30 01:13:00
我有这个问题,但经过多次尝试和错误之后,我将我的php头代码从.
header('Content-Type: application/json; charset=utf8');为了..。
header('Content-Type: application/json');帮我解决了。
发布于 2012-08-29 10:04:15
我将使用$.ajax构建它,如下所示,不确定这是否是您已经尝试过的:
var dataToSend = {'name':'value', 'other':'bar'};
if($('input.something').attr('checked') == 'checked') {
dataToSend.push({'more':'info'});
}
$.ajax({
url:'json_builder.php',
data:dataToSend,
success function(callback) {
alert(callback);
},
dataType:'json'
});https://stackoverflow.com/questions/12174601
复制相似问题