我有一个关键字值对URL列表,我正在使用名为accessUrl
的函数访问它们。我们点击的网址是外部网址,而不是由我们维护,即我无法更改从那些网址向我们发送回应的服务器代码。Angular js - 跨域请求在GET请求中被阻止
http.get()
成功时给我状态和响应。
var accessUrl = function(){
$.each(url, function(key, value)
{
$http.get(value).success(function(response,status){
$scope.status=status;
if($scope.status == "200"){
versionMap[key]=response.version;
setColor[key]='color-green';
//console.log("map "+versionMap[key]);
}
})//end of success
.error(function(err){
versionMap[key]="Down";
setColor[key]='color-red';
})//end of error
})//end of each loop
}//end of accessUrl
我想提出一个交叉原点请求。目前我已将CORS扩展添加到Chrome。
我app.js:
var express = require("express");
var app = express();
var path = require("path");
app.use("/", express.static(__dirname));
app.get('/',function(req,res){
res.sendFile(path.join(__dirname+'/index.htm'));
//__dirname : It will resolve to your project folder.
});
app.set('port', process.env.PORT);
console.log(port);
我不想再使用CORS扩展。如果没有扩展我遇到了以下错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://myurl.com (Reason: CORS header 'Access-Control-Allow-Origin' missing).
是否有通过它我们可以写在角代码,使CORS请求或任何其他方法的方法吗?
我已经通过了答案建议在:
然而,我无法弄清楚什么是需要。
感谢您的回答。但添加这些标头并没有帮助。另外,因为我们正在触及不在我们的服务器上的终点(我们正在让api接听电话)。我不明白如何添加这些标头改变任何东西?因为根据我的理解,我们的app.js只是呈现html页面,如果我们从我们托管的页面获得响应,这会有所帮助。 – kamini