我已经构建了一个 API,并尝试从 Chrome 中的测试 .html 文件访问它。我通过 file:///... 访问该文件,并获得本地文件系统限制。我已经在我的 api 上启用了跨源请求访问,但当我尝试访问它时,我收到以下信息:
XMLHttpRequest cannot load http://. Method undefined is not allowed by Access-Control-Allow-Methods.
请求/响应 header 如下:
我使用的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。关于可能出什么问题的任何想法吗?
最佳答案
抱歉..我从未问过您是否需要它来测试(即调试)或生产
使用此安全参数打开您的 Chrome:
C:\****\chrome.exe chromium-browser --disable-web-security
对于 Chrome 物:
C:\****\chrome.exe google-chrome --disable-web-security
我正在使用 chromium,但它也应该适用于 chrome..
关于javascript - 尝试从 Chrome 中的本地 .html 访问 JSON API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585514/