我已经构建了一个 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。关于什么可能是错误的任何想法?