XmlHttpRequest跨域

时间:2014-02-18 13:18:27

标签: 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(jsonString));

var serverResponse = xhReq.responseText;

它以

失败
  

没有'Access-Control-Allow-Origin'标题

虽然我成功通过其他客户端浏览器插件进行了调用

我缺少什么?

2 个答案:

答案 0 :(得分:0)

在服务器上添加Access-Control-Allow-Origin或使用JSONP (见What is JSONP all about?

答案 1 :(得分:0)

由于原因安全,所有浏览器都不接受来自您网站的ajax跨源请求。

为了浏览器接受ajax跨源请求,服务器代码必须设置标头“Access-Control-Allow-Origin”以响应通知浏览器它接受ajax跨源请求。

在浏览器插件(例如:chrome app)中,chrome允许开发人员配置发送请求跨源。因此,您可以在REST客户端插件中发送跨域请求。 (http://developer.chrome.com/apps/app_external.html#manifest