javascript - 尝试从 Chrome 中的本地 .html 访问 JSON API

标签 javascript ajax cors

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

XMLHttpRequest cannot load http://. Method undefined is not allowed by Access-Control-Allow-Methods.

请求/响应 header 如下:

request / response headers

我使用的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/

相关文章:

javascript - Div 内的文本溢出另一个 Div

javascript - 谁为 webkit 编写了 250k 测试?

javascript - node.js 和单页 Web 应用程序

asp.net-web-api - WebAPI CORS - 为什么 OPTIONS 请求进入我的 Controller ?

javascript - 如何使用 Google Chrome 扩展覆盖跨域 ="anonymous"引用的 javascript 文件?

Javascript API GET 请求 CORS 错误

Javascript - 用于验证文档文件的正则表达式 - PDF、TXT、DOC

javascript - AJAX (jquery) 运行 PHP 脚本不工作

javascript - 通过 POST 从 ajax 调用获取 JSON 数据到 PHP 页面

javascript - Backbone Marionette : Reusable UI Elements