我经历了一些帖子和文章,但它对我没用。我正在寻找有效的解决方案。
问题: - 每当我致电我的服务时,$ http.get拨打额外的电话,即选项。
例如:网站:http://locahost:4020/dashboard
Api:http://locahost:3020/filters
app.config([' $ httpProvider',function($ httpProvider){
$ httpProvider.defaults.useXDomain = true删除 $ httpProvider.defaults.headers.common [' X-请求-随着']
//$httpProvider.defaults.headers.common['X-Requested-With'] = ' XMLHttpRequest的' //重置标题以避免OPTIONS请求
$ httpProvider.defaults.headers.common = {}
$ httpProvider.defaults.headers.post = {}
$ httpProvider.defaults.headers.put = {}
$ httpProvider.defaults.headers.patch = {}
$ httpProvider.defaults.headers.get = {}}])
$http.get(url + '?' + $.param(args || ''), req)
每次调用时,http://locahost:3020/filters都无法返回数据,因为OPTIONS调用在实际api调用(get)之前正在进行。
答案 0 :(得分:1)
您无法放弃预检OPTIONS请求。
此请求的目的是要求服务器发出实际请求的权限。您的预检响应需要确认这些标题,以便实际请求起作用。
这些标题是从角度上弃用的,因此没有必要将它们放入。
headers to avoid OPTIONS request
$httpProvider.defaults.headers.common = {}
$httpProvider.defaults.headers.post = {}
$httpProvider.defaults.headers.put = {}
$httpProvider.defaults.headers.patch = {}
$httpProvider.defaults.headers.get = {} } ])