就像标题所说的那样,我正在尝试使用jQuery AJAX调用http://host:port/...或访问http://localhost:8080/...本地HTML文件来访问(POST)c:\home.html。我无法正常工作。
http://host:port/...
http://localhost:8080/...
c:\home.html
我做了Google,在这里也看到了几个问题,但无法正常工作。我需要一些帮助。到目前为止,这是我尝试过的。
在响应中设置标题:
response.setHeader(“Access-Control-Allow-Origin”, “*”);
三种浏览器均无法运行-IE,FF或Chrome。该请求永远不会到达服务器。这是我看到的一些错误。
这是我的代码。我将不胜感激任何帮助。我正在使用jquery-1.8.2.min.js。
jquery-1.8.2.min.js
var http_host = "http://localhost:8080"; function su (pc, p) { var suUrl = http_host + "/ps/api/v2/authorize.json"; $.ajax({ type: 'POST', url: suUrl, data: { phone_cell: pc, password: p, }, dataType: "json", crossDomain: true, success: osu, error: oe }); return false; } function osu (d) { console.log(d); } function oe(xhr, ts, et) { alert("ServerError: " + et); }
一个例子就是完美的指针。
我想我的代码被我尝试过的所有不同解决方案弄得一团糟。我终于能够通过设置标头来使用它(建议并为其他人使用的解决方案)。我要做的就是将以下内容添加到我的REST服务响应中。
response.setHeader("Access-Control-Allow-Origin", "*");
更新:
我以为我知道了,但我没有。它不仅仅是设置标题。无论如何,在我的特定情况下。我试图从专用于chrome的硬盘驱动器上运行我的应用程序(html,js),并尝试访问云上可用的Web服务。
这是我终于解决问题的方法。我使用以下参数启动了chrome。
--disable-web-security -–allow-file-access-from-files
就像我之前提到的,这个应用程序实际上是一个桌面应用程序,它将作为Chrome嵌入式框架的一部分运行。
谢谢各位的意见。