1

我已经构建了一个 API,我正在尝试从 Chrome 中的测试 .html 文件访问它。我正在通过 file:///... 访问该文件,并且我得到了本地文件系统的限制。我在我的 api 上启用了跨源请求访问,但是当我尝试访问它时得到以下信息:

XMLHttpRequest 无法加载 http://。Access-Control-Allow-Methods 不允许方法未定义。

请求/响应标头如下:

请求/响应标头

我使用的javascript代码如下:

var xmlhttp;
if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();
else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        if (params.success) params.success(xmlhttp.responseText);
    } else if (xmlhttp.readyState == 4) {
        if (params.error) params.error(xmlhttp, xmlhttp.status, xmlhttp.responseText);
    }
};

xmlhttp.open(params.method, params.url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');

if (params.data) xmlhttp.send(params.data);
else xmlhttp.send();

如果我使用 jquery 中的 $.getJSON,则 api 调用可以正常工作,但我不想要那样。它需要是纯javascript。关于什么可能是错误的任何想法?

4

1 回答 1

0

对不起..我从来没有问过你是否需要它来测试也就是调试或生产

使用此安全参数打开您的 chrome:

C:\****\chrome.exe chromium-browser --disable-web-security

对于铬:

C:\****\chrome.exe google-chrome --disable-web-security

我正在使用铬,但它也应该与铬一起使用..

于 2013-05-16T10:56:08.863 回答