我试图向远程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'标题
虽然我成功通过其他客户端浏览器插件进行了调用。
我缺少什么?
答案 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)