在Ajax调用中出现访问被拒绝问题,只在IE9上存在。

3

当我使用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);

1
你应该使用类似jQuery的东西来抽象化这个混乱的代码。 - Joseph
@Joseph,当使用XMLHttpRequest时它也应该起作用。我已经更新了问题并提供了解决方案。 - Joseph
你是否遇到了异常?执行此脚本的页面域是什么?为什么不直接使用jQuery? - Ryan O'Neill
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接