$ .ajax在IE9版本中不起作用

时间:2015-03-12 05:03:46

标签: jquery ajax wcf

我试图用jQuery ajax调用web服务。代码就像;



 $.ajax({
                async: false,
                type: "POST",
                crossDomain: true,
                contentType: "application/json; charset=utf-8",
                data: <Data in JSON format>,
                url: <Url>,        // in same domain
                success: OnSuccess,
                error: OnFailure
            });
&#13;
&#13;
&#13;

然而,当我在IE10中运行它时,它正在工作。在IE9中,它给出了错误。我还有其他页面,我正在使用jQuery ajax,它工作正常。

我现在一无所知为什么会这样。

3 个答案:

答案 0 :(得分:0)

问题落在crossDomain: true属性上,而不是在ajax调用本身。

此插件应该有所帮助:https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

答案 1 :(得分:0)

问题在于,由于某种原因,jQuery/IE无法正确 urlencode double quotes

使用IE10IE9检查请求的网址

另外, 将content-typeapplication/json; charset=utf8更改为普通application/json

并尝试使用cache: false参数。

$.ajax({
    .....
    .....
    url: "yoururl",
    cache: false
    .....
});

答案 2 :(得分:0)

我能够通过添加

来解决这个问题

&#13;
&#13;
$.support.cors = true;
&#13;
&#13;
&#13;

一开始。

This post帮我解决了这个问题。