首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery,在IE上使用JSON ajax请求不成功

jQuery,在IE上使用JSON ajax请求不成功
EN

Stack Overflow用户
提问于 2011-12-13 05:56:18
回答 4查看 16.5K关注 0票数 4

我做了一个AJAX调用,它可以在FF和Chrome上工作,但不能在IE 7-8-9上工作。我正在从域中加载一个JSON文件:

代码语言:javascript
复制
    $.ajax({
        url: 'js/jquery.desobbcode.json',
        dataType: 'json',
        cache: false,
        success: function(json) {
            alert('ok');
        },
        error: function(xhr, errorString, exception) {
            alert("xhr.status="+xhr.status+" error="+errorString+" exception="+exception);
        }
    });

我也尝试添加contentType: 'application/json',但得到相同的输出:

代码语言:javascript
复制
xhr.status=200
error=parsererror
exception=SyntaxError Unterminated string constant

我用JSONLint检查了我的JSON文件,结果没问题。我检查了一下是否有多余的逗号,内容是否也被修剪了。See my JSON file

如果我放入dataType: 'text',我会收到OK警报,但也会弹出一个调试窗口。

你能帮我一下吗?致以问候。

EN

回答 4

Stack Overflow用户

发布于 2011-12-13 06:47:44

IE is known to have issues with implied content types.

...Internet Explorer7中的新XmlHttpRequest类没有非常直观地实现setRequestHeader。它不是设置指定的标头,而是追加该值。

尝试指定contentType并检查从服务器返回的内容:

代码语言:javascript
复制
$.ajax({
    url: 'js/jquery.desobbcode.json',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    ...
});

您可能还想尝试发送空白数据:

代码语言:javascript
复制
$.ajax({
    url: 'js/jquery.desobbcode.json',
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    data: {}
    ...
});
票数 5
EN

Stack Overflow用户

发布于 2012-11-16 18:33:31

如果您使用php脚本将json回显为字符串,只需将

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

在此之前

代码语言:javascript
复制
echo $jsonString

线路。

票数 2
EN

Stack Overflow用户

发布于 2011-12-13 07:34:56

这是JSON中的换行符。这应该在IE中解析:

代码语言:javascript
复制
{"inputButton":[{"id":"desoBBCode_bold","value":"Gras","tag":"b"},{"id":"desoBBCode_italic","value":"Italique","tag":"i"},{"id":"desoBBCode_underline","value":"Souligné","tag":"u"},{"id":"desoBBCode_image","value":"Image","tag":"img"},{"id":"desoBBCode_link","value":"Lien","tag":"url"},{"id":"desoBBCode_quote","value":"Citation","tag":"quote"}],"selectTextSize":[{"text":"Taille","value":""},{"text":"Trèstrèspetit","value":"1"},{"text":"Trèspetit","value":"2"},{"text":"Petit","value":"3"},{"text":"Gros","value":"4"},{"text":"Trèsgros","value":"5"},{"text":"Trèstrèsgros","value":"6"}],"selectTextColor":[{"text":"Couleur","value":"a"},{"text":"Rouge","value":"red"},{"text":"Bleu","value":"blue"},{"text":"Vert","value":"green"}]}

现场示例:http://jsbin.com/umahiq/edit

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8481453

复制
相关文章

相似问题

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