我正在为facebook开发chrome扩展程序。我需要将数据发送到另一台服务器(比如http://example.comxa.com
)。我正在使用XMLHttpRequest()
方法向服务器发送POST
请求。
var xhr = new XMLHttpRequest();
xhr.open("POST","http://example.comxa.com",false);
xhr.send();
但是我在conosle中收到以下错误消息:
Refused to connect to 'http://www.example.comxa.com/' because
it violates the following Content Security Policy directive: "connect-src
https://*.facebook.com http://*.facebook.com https://*.fbcdn.net
http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net
ws://*.facebook.com:* http://*.akamaihd.net https://fb.scanandcleanlocal.com:
* *.atlassolutions.com http://attachment.fbsbx.com https://attachment.fbsbx.com".
和
Uncaught SecurityError: Failed to execute 'open' on 'XMLHttpRequest': Refused to
connect to 'http://www.example.comxa.com/' because it violates the document's
Content Security Policy.
我已在清单文件中添加了http://www.example.comxa.com
的权限:
"permissions": ["http://www.example.comxa.com/","storage"],
在搜索时我发现可以在Chrome扩展程序(https://developer.chrome.com/extensions/xhr)中制作跨源AJAX请求,但是如何?
我还做了一个扩展,使用这样的调用来获取使用AJAX的选定单词的含义,但它运行良好:
var request = new XMLHttpRequest();
url = "http://www.dictionaryapi.com/api/v1/references/collegiate/xml/" + text +
"?key=api-key";
request.open("GET",url,true);
rewuest.send();
并且尚未在清单中添加http://www.dictionaryapi.com/
的权限。