首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery对IE9回调的AJAX请求未定义

jQuery对IE9回调的AJAX请求未定义
EN

Stack Overflow用户
提问于 2012-08-29 09:18:51
回答 2查看 2.2K关注 0票数 1

就在今天,我注意到我对IE有一个很大的问题。

我有一个循环,每5秒接收有关系统和用户的各种详细信息,并根据需要更新页面上的值。我只是通过检查HTML中所需的值来构建查询,例如:

代码语言:javascript
复制
var query = '?name=value&other=bar';
if($('input.something').attr('checked') == 'checked') {
   query += '&more=info';                      
}  

构建查询后,我使用$.get检索信息:

代码语言:javascript
复制
$.get('json_builder.php' + query, function(callback) {
   alert(callback);
});

我的回调是一个JSON字符串,我使用$.parseJSON(callback);将其转换为对象,并使用该对象访问数据。

除了IE之外,我在所有浏览器上都会收到带有JSON回调的警告,在IE中,我得到了“未定义”。

但是,请求是通过的,就像在developer部分中一样,我看到响应实际上在那里,但是由于某种原因,变量“回调”被保留为“未定义”。

我尝试过使用$.getJSON而不是$.get --同样的结果。

EN

回答 2

Stack Overflow用户

发布于 2012-12-30 01:13:00

我有这个问题,但经过多次尝试和错误之后,我将我的php头代码从.

代码语言:javascript
复制
header('Content-Type: application/json; charset=utf8');

为了..。

代码语言:javascript
复制
header('Content-Type: application/json');

帮我解决了。

票数 3
EN

Stack Overflow用户

发布于 2012-08-29 10:04:15

我将使用$.ajax构建它,如下所示,不确定这是否是您已经尝试过的:

代码语言:javascript
复制
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'
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12174601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档