【问题标题】:jQuery Ajax Call to JSON not working in IE对 JSON 的 jQuery Ajax 调用在 IE 中不起作用
【发布时间】:2013-08-26 23:42:12
【问题描述】:

我有这段代码,我正在对 json 进行 ajax jquery 调用...它适用于除 IE 之外的所有应用程序。

    jQuery.ajax({
            url: "/session/json.php",
            type: "GET",
            data: "",
            success: function(data) {
            var obj = jQuery.parseJSON(data);
            obj.sli_cart_count = parseFloat(obj.sli_cart_count);
            obj.sli_customer_islogged = parseFloat(obj.sli_customer_islogged);

我做了一些谷歌搜索,然后将其更改为

    jQuery.ajax({
            url: "/session/json.php",
            dataType: "json",
            cache: false,
            contentType: "application/json",
            type: "GET",
            data: "",
            success: function(data) {
            var obj = jQuery.parseJSON(data);
            obj.sli_cart_count = parseFloat(obj.sli_cart_count);
            obj.sli_customer_islogged = parseFloat(obj.sli_customer_islogged); 

是的,它在 IE 中工作。

但是,在所有其他浏览器中进行该更改会破坏它。

然后我尝试了:

  if (jQuery.browser.msie) {

做底部的,否则{做顶部的。

这也不起作用,它似乎再次在除 IE 之外的所有浏览器中工作。

还有其他人遇到过这个错误吗?任何想法如何解决它?

非常感谢。

【问题讨论】:

  • data: ""的目的是什么?
  • contentType: "application/json" 表示您发送(从客户端到服务器)是 JSON。显然不是,因此您应该将其作为起点。
  • 我不确定,我可能可以删除该部分...我没有编写我只是想修复它的代码。
  • 您在哪个版本的 IE 中测试?
  • IE 8、9 和 10... 都不起作用。

标签: jquery ajax json internet-explorer


【解决方案1】:

试试这个jQuery XDomainRequest plugin -- 只需包含插件并照常调用您的 ajax 请求。
这适用于我在 IE 8 和 9 中。

我还建议改用$.getJSON

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多