在Crossrider扩展中使用AJAX请求的CSP问题
CSP issue using AJAX requests on in a Crossrider extension
我试图在Crossrider扩展中运行AJAX请求,但我得到一个CSP相关的错误。
下面是我的代码(为保护隐私而修改):
$.ajax({
url : "https://example.com/...",
type : 'POST',
dataType : 'json',
data : {user: "user", pass: "pass"}
}).done(function(data) {
console.log("POST Succeeded");
}).fail(function(a, b, c, d) {
console.log("POST Failed");
});
如果我从扩展运行代码,它不工作,它给出了一个"拒绝访问"错误!
为什么我不能在Crossrider扩展中运行请求?
在扩展中使用标准jQuery AJAX方法通常会导致跨域问题,从而阻止对内容的访问;因此,在编写Crossrider扩展时,最佳实践是使用appAPI。请求框架提供的方法,这些方法是专门为跨浏览器和跨域安全而开发的。
因此,在您的情况下,您可以在extension.js或background.js中重写POST请求,如下:appAPI.ready(function($) {
appAPI.request.post({
url: "https://example.com/...",
contentType: "application/json",
postData: {user: "user", pass: "pass"},
onSuccess: function(response) {
console.log("POST Succeeded");
},
onFailure: function(code) {
console.log("POST Failed");
}
});
});
[披露:我是Crossrider员工]
相关文章:
- ajax请求的顺序总是不同的
- Meteor如何接收HTTP请求
- 有没有一种方法可以防止img get请求使用css或js发生
- 从ajax请求中获取javascript对象
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 在openshift node js应用程序中获取请求
- 反应路由器弄乱了请求网址
- 在我的情况下,如何进行http请求
- 使用密码对话框Javascript请求帮助
- servlet中的请求对象,而不是从jsp接收参数值
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- JavaScript代码未正确检查ajax请求
- node.js请求数据事件未在CORS ajax调用中触发
- 如何检测第三方广告服务器请求
- 在Rails中更新Div,而不更改更新请求后的视图
- 在Crossrider扩展中使用AJAX请求的CSP问题