2

我正在尝试发出类似这样的帖子请求。以下行调用控制器操作

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

GetPath给我一个有效的网址

   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版本有关吗?

4

2 回答 2

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);
}
于 2013-10-31T08:44:40.687 回答
0

显然 IE 似乎无法直接访问文件(没有 http 服务器)。如果您将请求更改为

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

(假设您在 localhost 环境中运行它)那么这个错误应该消失并且您的代码应该可以工作。

cfr。SCRIPT1014:无效字符获取 SCRIPT1014:来自本地 js 文件的 IE 中的无效字符

有时也清除浏览器缓存似乎有帮助

于 2013-10-31T08:43:08.930 回答