javascript - 如何通过javascript发出跨域请求

标签 javascript cross-domain

var http = new XMLHttpRequest();
var url = "http://example.com/";
http.crossDomain = true;
http.withCredentials = true;
http.open("GET", url, true);

http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.send();
console.log(http.responseText);

当我尝试从 JavaScript 执行跨域请求(如代码中所示)时,它会向我抛出错误:请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'http://localhost:8000 ' 因此不允许访问。我该如何解决这个问题,因为我不追求 JSONP 的解决方案。还有其他解决方案可以解决我的问题吗?而且我无法控制服务器端,因为它是第三方服务器。

最佳答案

无法使用纯客户端代码读取数据。

您需要从服务器发出请求,并让客户端代码从该服务器获取数据。

所述服务器要么与托管 JS 的页面同源,要么使用 CORS 向您的源授予权限。

关于javascript - 如何通过javascript发出跨域请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37658067/

相关文章:

javascript - 无法使用 Chrome 扩展中的 postMessage 将数据从父窗口发送到 iframe

javascript - 其他页面,如 anyorigin.com

javascript - 是否可以从自身或服务器端隐藏/关闭 iframe?

javascript - 在 Ruby on Rails 中执行远程 (ajax) 调用的正确方法

javascript - $.removeCookie 不会删除 Chrome 中的 cookie

javascript - 大约 5500 个链接可以最大程度地减少页面速度下降的有效方法是什么

javascript - 使用 'items wrap'中的php和js函数

c# - 澄清暂时禁用提交按钮几秒钟,然后重新启用它?

javascript - Access-control-allow-origin 无法在 POST 请求中使用 ajax

Javascript:跨源资源共享的 XMLHttpRequest 问题