仅在 IE9 上存在的 ajax 调用中的访问被拒绝
Posted
技术标签:
【中文标题】仅在 IE9 上存在的 ajax 调用中的访问被拒绝【英文标题】:Access denied in ajax call only existing on IE9 【发布时间】:2012-05-27 14:00:31 【问题描述】:我在使用 Xmlhttprequest 进行 ajax 调用时遇到了这个问题。我在 Firefox、Chrome、Safari 上测试了代码,它们都运行良好。只有IE上存在的问题,我使用的版本是9。 有人说我应该启用跨域支持。实际上,我将 Access-Control-Allow-Origin: * 添加到 http响应头。有任何想法吗?谢谢。
我的代码是:
var xhr = new XMLHttpRequest();
var query = queryString.pageName.abbr + "="
+ encodeURIComponent(queryString.pageName.value) + "&"
+ queryString.pageURL.abbr + "="
+ encodeURIComponent(queryString.pageURL.value);
var getURL = "http://localhost:10001/test?" + query;
xhr.open('GET', getURL, false);
var result;
xhr.onreadystatechange = function()
var responseBody;
if (xhr.readyState == 2) // headers and status received
alert(xhr.status);
else if (xhr.readyState == 4) // full body received
result = xhr.responseText;
;
xhr.send(null);
【问题讨论】:
你应该使用 jQuery 之类的东西来抽象这个意大利面条 @Joseph,它在使用 XMLHttpRequest 时也应该可以工作。我用解决方案更新问题。 您遇到异常了吗?执行此脚本的页面的域是什么?为什么不直接使用 jQuery? 【参考方案1】:这里有人遇到同样的问题:http://css-tricks.com/forums/discussion/17449/xmlhttprequest-not-working-in-ie9/p1。 也许这会有所帮助:http://msdn.microsoft.com/en-us/library/cc288060。 和其他人一样,我也建议使用 jQuery。他们思考这些问题:http://bugs.jquery.com/ticket/8283
【讨论】:
以上是关于仅在 IE9 上存在的 ajax 调用中的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
当ajax目标是localhost时,IE 10和11中的访问被拒绝
“aaaaa”存储库的拉取访问被拒绝不存在或可能需要“docker login”