2011-06-23 77 views
0

我想通过$ .ajax()函数调用API。在FirefoxAjax响应在IE浏览器jquery

I'got反应,但它得到的jQuery 调试挡在IE显示错误消息:

permission denied jquery-1.4.2.min.js line 127 character 287

+1

你是否在不同的服务器(或其他协议)上请求文件 –

+0

发布你用来提出请求的代码。 –

+0

是的,我要求对API,它在不同的服务器$阿贾克斯({ \t \t \t \t类型: “GET”, \t \t \t网址:testUrl, \t \t \t成功:函数(MSG){ \t \t \t \t \t \t \t如果(MSG!= “” &&味精!= NULL){ \t \t \t \t \t \t JA lert(MSG); \t \t \t \t \t} \t \t \t}, \t \t \t错误:函数(){ \t \t \t \t jAlert( “错误”); \t \t \t} \t \t \t}); –

回答

0

你真的不得到一个错误,在IE浏览器,但如果你调试它,那么你就看到服务器从未被击中,或代码永远不会到达成功块。

对于AJAX请求,www。被视为子域,并打破xmlhttprequestobject的同源策略。

请确保您的AJAX请求中的域与页面和您的JavaScript文件的域匹配,即您应该摆脱www。在$获得()函数

或者,如果你仍然需要做的$不用彷徨到不同的领域,尝试在您的jQuery(> 1.5.1)Ajax请求使用XHR选项:

$.ajax({ 
    url: a_cross_domain_url, 
    type: "GET", 
    xhrFields: { 
     withCredentials: true 
    } 
}); 

Hepe它会有所帮助

+0

XHR到不同的域是不允许的? –

+1

不默认。有一篇文章解释为什么http://fettig.net/weblog/2005/11/28/how-to-make-xmlhttprequest-connections-to-another-server-in-your-domain/ – WooDzu