2013-10-31 81 views
2

我正在嘗試發佈類似於此的發佈請求。下面一行調用一個控制器動作

$.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;  

     } 

這完全是在鉻做工精細,以及野生動物園。

但在IE10在控制檯收到錯誤消息

script1014:無效字符

這是與jQuery的版本?

+0

請添加您的JSON響應你正在從服務器 –

+0

回來使用「$ .ajax」dataType:「 json「? –

+1

GetPath返回什麼? – David

回答

0

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

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

(假設你在本地主機環境中運行這個) 那麼這個錯誤應該dissappear和你的代碼應該工作。

cfr。 SCRIPT1014: Invalid character; Getting SCRIPT1014: Invalid character in IE from local js file

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

+1

'GetPath'方法返回一個有效的URL,取決於應用程序是否在本地運行或者在服務器上運行類似於這個函數的東西GetPath(url)var protocol =「http: //「; ('@ ApplicationInstance.Application [「IsHTTPS」]'==「TRUE」) protocol =「https://」; if('@ HttpContext.Current.Request.ApplicationPath'==「/」) return protocol + window.location.host + url; else return protocol + window.location.host +'@ HttpContext.Current.Request.ApplicationPath'+ url; } – user1855588

+0

好的。這可能是一個好主意,在這個問題中加入這個:D –

0
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); 
} 
+0

即使修改控制檯js中仍然出現錯誤,第1行字符15735 SCRIPT1014:無效字符 – user1855588

+0

? @ user1855588 –