首頁  >  問答  >  主體

javascript - js 跨域問題

這個應該是跨域的問題,不過在谷歌,火狐,ie10 上都沒有問題,在ie9-去出現問題,按說如果是跨域問題,都應該會有提示啊,不知道是什麼影響的?

 $.ajax({
        url: '//sh.uzai.com/ashx/ashx_ProductDetail.ashx?action=detail&pId=133689&_=1498273384086',
        type: 'GET',
        cache: false,
        dataType: "Json",
        async:false,
        success: function (data) {
            if (data != undefined) {
                jsonCData = data.calendarValue;
                jsonPData = data.priceValue;
                jsonShowDiscount = data.showDiscount;
            }
        },
        error: function (msg) {
           debugger;
        }
    });

ie9-一直進入的是debugger,各位看看是什麼原因

伊谢尔伦伊谢尔伦2671 天前970

全部回覆(4)我來回復

  • 大家讲道理

    大家讲道理2017-06-26 10:51:45

    ie8不支持cors

    回覆
    0
  • 欧阳克

    欧阳克2017-06-26 10:51:45

    也可以用jsonp,跟後台配置

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-06-26 10:51:45

    IE8 和IE9 雖然支援跨域,但並不是CORS 的標準實現,而是依賴XDomainRequest 物件的一個非標準實現(CanIUse),如果你使用的請求庫沒有對IE8 和IE9 進行特殊的兼容處理,而是使用XMLHttpRequest 對象,那麼是無法完成跨域請求的。如果要相容 IE9,可以使用對應的 Polyfill 函式庫。

    另外值得注意的是,使用 XDomainRequest 物件進行跨域請求是有諸多限制條件的,例如只能發起 GET 和 POST 請求,不能修改請求頭等,具體的限制可以參考這裡。

    回覆
    0
  • 高洛峰

    高洛峰2017-06-26 10:51:45

    另外,如果用jsonp處理的話,我看請求的時候報錯,後台需要設定json嗎?

    回覆
    0
  • 取消回覆