Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript XmlHttpRequest跨域_Javascript_Xmlhttprequest_Cross Domain_Put - Fatal编程技术网

Javascript XmlHttpRequest跨域

Javascript XmlHttpRequest跨域,javascript,xmlhttprequest,cross-domain,put,Javascript,Xmlhttprequest,Cross Domain,Put,我正在尝试向远程Rest put方法api发出请求 var xhReq = new XMLHttpRequest(); xhReq.open("PUT", "http://api-easybib.apigee.com/2.0/rest/cite", true); xhReq.setRequestHeader('Content-Type', 'application/json'); var jsonString = "{...}"; xhReq.send(JSON.stringify(jsonS

我正在尝试向远程Rest put方法api发出请求

var xhReq = new XMLHttpRequest();
xhReq.open("PUT", "http://api-easybib.apigee.com/2.0/rest/cite", true);
xhReq.setRequestHeader('Content-Type', 'application/json');
var jsonString = "{...}";

xhReq.send(JSON.stringify(jsonString));

var serverResponse = xhReq.responseText;
它失败了

无“访问控制允许来源”标题

尽管我成功地通过rest客户端浏览器插件进行了调用


我缺少什么?

在服务器上添加访问控制允许源代码或使用JSONP
请参见

,因为出于安全考虑,所有浏览器都不接受来自您站点的ajax跨源请求

为了让浏览器接受ajax跨源请求,服务器代码必须设置头访问控制允许源响应,以通知浏览器它接受ajax跨源请求


在浏览器插件ex:chrome应用程序中,chrome允许开发者配置跨源发送请求。所以您可以在REST客户端插件中发送跨域请求

您是指Rest服务器吗?是的,您可以在Rest服务器上添加Access Control Allow Origin标头。它不是我的服务器。这是一个Rest服务,我知道它支持跨域,正如我提到的那样。如果它支持客户端JS跨域请求,那么如果不包括向客户端JavaScript授予权限的头,您就不会得到错误。