- >这会导致交叉来源请求错误(不幸的是,服务只能通过http获得)。
我还在我的服务器中启用了跨源。但是没有任何成功。
gulp.task('browser-sync', function () {
browserSync({
notify: true,
port: 8000,
server: {
baseDir: "dist",
middleware: function (req, res, next) {
res.setHeader("Access-Control-Allow-Origin", "*");
next();
}
}
});
});
这是执行http请求的函数:
this.requestjourney = function (id1, id2) {
var promise = $http({
method: 'GET',
timeout: 5000000,
// url: "http://www.wienerlinien.at/ogd_routing/XML_TRIP_REQUEST2?locationServerActive=1&outputFormat=JSON&type_origin=any&name_origin=Reumannplatz&type_destination=any&name_destination=Stephansplatz",
url: "http://www.wienerlinien.at/ogd_routing/XML_TRIP_REQUEST2?locationServerActive=1&type_origin=any&name_origin=" + id1 + "&type_destination=any&name_destination=" + id2,
locationServerActive: 1,
excludedMeans: 0,
excludedMeans: 1,
excludedMeans: 3,
excludedMeans: 4,
excludedMeans: 5,
excludedMeans: 6,
excludedMeans: 7,
excludedMeans: 8,
excludedMeans: 9,
excludedMeans: 10,
excludedMeans: 11,
contentType: 'application/x-www-form-urlencoded; charset=utf-8'
});
return promise;
}
是否有任何类型的烹饪书解决方案在angularJS中修复交叉oringin请求?或解决方法?
提前致谢, 沃尔夫冈
答案 0 :(得分:1)
您确定在服务器端启用了CORS吗? 当我从我的网页请求URL时,我没有得到“Access-Control-Allow-Origin”标题。 (并且Firefox抱怨开发者控制台中缺少标题。)此标题是工作的最低要求。
在此处阅读更多内容:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests
如果有疑问,请首先尝试使用jQuery而不是Angular,例如使用$ .get(url)。