我已将我的应用程序托管到firebase。 我的应用程序是使用AngularJS并使用firebase数据库实现的。 我需要连接到第三方以集成支付网关。 现在我遇到的障碍是每当我尝试导航到商家的网址时,我都会收到以下错误:
“XMLHttpRequest无法加载https://merchant的URL。对预检请求的响应未通过访问控制检查:请求的资源上没有”Access-Control-Allow-Origin“标头。来源'{{因此,3}}'不允许访问。“
通过firebase文档,我在firebase.json中添加了标题,如下所示:
{
"firebase": "app",
"headers": [ {
"source" : "**",
"headers" : [ {
"key" : "Access-Control-Allow-Origin",
"value" : "*"
} ]
}],
"public": "folder",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
但仍然没有运气。 这也发生在每个浏览器上。 我在app.js中添加了以下代码
app.run(function ($http) {
// Sends this header with any AJAX request
$http.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
$http.defaults.headers.common['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS, PUT';
$http.defaults.headers.common['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept';
$http.defaults.headers.post['dataType'] = 'json'});
我的POST请求如下所示:
$http.post('https://merchant's URL')
.success(function(data, status, headers, config) {
//code
})
任何人都可以帮助我摆脱这个错误。