我正在尝试访问 Posterous API,通过 google chrome 扩展程序(或其他方式)将一些内容发布到网站。
由于它是公共(public)API,所以我希望它允许每个人发帖,但由于某种原因,它不允许发帖。
但是每次我都会遇到错误。
当我从浏览器访问它时出现同样的错误
这是通过浏览器访问时的错误
http://localhost Access-Control-Allow-Origin 不允许
这是通过 chrome 扩展程序访问时的错误
XMLHttpRequest cannot load http://posterous.com/api/2/users/me/sites/primary/posts?api_token=vxgufysnzlDwmEtkbDbzHtxxBADsEFGr&email=***@gmail.com&password=***. Origin chrome-extension://maabelkjnhafpphacjecmcnkkmjndjgl is not allowed by Access-Control-Allow-Origin.
代码如下:
$.ajax({
//type: 'GET',
url: 'http://posterous.com/api/2/users/me/sites/primary/posts?api_token=vxgufysnzlDwmEtkbDbzHtxxBADsEFGr&email=shahid1376@gmail.com&password=WHY_DID_YOU_PUT_YOUR_REAL_PASS',
// url:'http://posterous.com/api/2/users/me/sites/primary/posts/public',
type : 'POST',
dataType: 'json',
crossDomain: true,
data: "{'title': 'test posterous'}",
contentType:'text/plain',
success:function result(data) {
alert("Call completed successfully");
}
最佳答案
您的 manifest.json
文件应包含您希望在权限中使用的两个域:
"permissions": [
"http://*.posterous.com/",
"http://localhost/"
]
就其值(value)而言,我不会在您的权限
中包含localhost
;相反,使用您计划在生产中使用的域,然后使用 hosts
行将该域重定向到您自己的服务器。这将允许您在自己的服务器上进行开发,但不会强制您的用户允许他们可能不期望的 localhost
权限。
关于jquery - Chrome 扩展程序 : Cross Origin $. 发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819509/