问题陈述:在我的项目中,我使用$http({ method : 'GET', url : data : ..... 参数,对于 get 和 Post 工作正常。但 当我在 fiddle 中使用相同的方法时,它会阻止我的请求。如果我 使用 $http.get(...然后它会在 jsfiddle 中工作不知道为什么
谁能解释一下 $http.get('http://... 和 $http({mthod :'获取',....})
查看这两个示例:
<小时/>1) 示例:https://jsfiddle.net/kevalbhatt18/84e02j4t/8/
var promise = $http({
method : 'GET',
url : 'http://d.yimg.com/autoc.finance.yahoo.com/autoc',
data : entity,
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'YAHOO.Finance.SymbolSuggest.ssCallback',
headers : {
'Content-Type' : 'application/json'
},
cache : false
}).then(function (response) {
return response;
});
错误:在第一个示例中,在控制台中看到它会给您错误。
XMLHttpRequest cannot load https://autoc.finance.yahoo.com/autoc. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://fiddle.jshell.net' is therefore not allowed access.
<小时/>
2) 使用 $http.get(... 示例:http://jsfiddle.net/kevalbhatt18/qny7v23f/
test: function (param) {
$http.get('http://d.yimg.com/autoc.finance.yahoo.com/autoc', {
params: {
query: param,
callback: 'YAHOO.Finance.SymbolSuggest.ssCallback'
}
})
.success(function (data, status, headers, config) {
return data;
})
.error(function (data, status, headers, config) {
return "there was an error";
})
}
}
我在 Chrome 中使用 Cors 应用程序,因此它将添加 Access-Control-Allow-Origin'
最佳答案
CORS header 必须存在于您所请求的远程站点上。不是你的
关于javascript - $http({method}) 不工作,但 $http.get 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31065346/