use*_*505 5 ajax jquery cross-domain cors
正如标题所说,我正在尝试使用jQuery AJAX调用Web URL http://host:port/...或http://localhost:8080/...本地HTML文件来访问(POST)c:\home.html.我无法让它发挥作用.
我做谷歌,也看到了几个问题,但我无法让它工作.我需要一些帮助.这是我到目前为止所尝试的内容.
response.setHeader("Access-Control-Allow-Origin", "*");
Run Code Online (Sandbox Code Playgroud)
这三种浏览器都不起作用 - IE,FF或Chrome.请求永远不会到达服务器.以下是我看到的一些错误.
这是我的代码.我将不胜感激任何帮助.我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
一个例子是一个完美的指针.
我想我的代码被我尝试的所有不同解决方案弄乱了。我终于能够通过设置标题来让它工作(推荐并适用于其他人的解决方案)。为了让它工作,我所要做的就是将以下内容添加到我的 REST 服务响应中。
\n\nresponse.setHeader("Access-Control-Allow-Origin", "*");\nRun Code Online (Sandbox Code Playgroud)\n\n更新:
\n\n我以为我已经弄清楚了这一点,但我还没有。不仅仅是设置标题。无论如何,根据我的具体情况。我试图在硬盘上运行我的应用程序(html、js),特别是在 Chrome 上,并尝试访问云上可用的 Web 服务。
\n\n这是我最终解决问题的方法。我使用以下参数启动了 chrome。
\n\n--disable-web-security -\xe2\x80\x93allow-file-access-from-files\nRun Code Online (Sandbox Code Playgroud)\n\n正如我之前提到的,这个应用程序实际上是一个桌面应用程序,将作为 chromium 嵌入式框架的一部分运行。
\n\n谢谢各位的意见。
\n