簡體   English   中英

$ .getJSON在IE10中不起作用,

[英]$.getJSON not working in IE10,

我正在嘗試發出類似這樣的帖子請求。 下一行調用控制器動作

$.getJSON(GetPath('/Products/Search'), param, function (data) {
  // do some thing with data
}

GetPath給我一個有效的URL

   function GetPath( url ) {

           var protocol = "http://";

           if ('@ApplicationInstance.Application["IsHTTPS"]' == "TRUE")

               protocol = "https://";

           if ('@HttpContext.Current.Request.ApplicationPath' == "/")

               return protocol + window.location.host + url;

           else

       return protocolwindow.location.host+'@HttpContext.Current.Request.ApplicationPath' + url;    

       }

這在chrome和safari中都可以正常工作。

但是在IE10中,控制台中出現錯誤消息

script1014:無效字符

這與Jquery版本有關嗎?

IE似乎在直接訪問文件時(沒有http服務器)似乎有問題。 如果您將請求更改為

$.getJSON(GetPath('http://localhost/Products/Search'), param, function (data) {
  // do some thing with data
}

(假設您在localhost環境中運行此代碼)則該錯誤應該消失並且您的代碼應該可以工作。

cfr。 SCRIPT1014:無效字符 獲取SCRIPT1014:本地js文件中的IE中的無效字符

還清除瀏覽器緩存有時似乎有幫助

return protocolwindow.location.host+'@HttpContext.Current.Request.ApplicationPath' + url;

更改

return protocol + window.location.host + '@HttpContext.Current.Request.ApplicationPath' + url;

和getJSON成功回調使用jQuery.parseJSON

$.getJSON(GetPath('/Products/Search'), param, function (data) {
    var search_results = jQuery.parseJSON(data);
    console.log(search_results);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM