Heim > Fragen und Antworten > Hauptteil
这个cors跨域资源,用jquery请求是成功的。
(如下面被注释掉的代码这样是成功的)
//var url = "http://test.shenmawo.com.cn/wechat/huodong/h22/giveGift";
//
//$.ajax({
// type : 'post',
// url : url,
// data : {
//
// },
// dataType : "json",
// success : function(data, status) {
// $scope.prize = data;
// },
// error : function(data, status, e) {
// console.log("系统异常" + e);
// }
//});
但是angularjs的$http.post不成功:
$http
.post('http://test.shenmawo.com.cn/wechat/huodong/h22/giveGift', {})
.success(function(data){
$scope.prize = data;
})
.error(function(err){
alert(err);
});
用$http([Object])这样的写法也不成功:
//$http({
// url:'http://test.shenmawo.com.cn/wechat/huodong/h22/giveGift',
// method:'POST',
// data: {},
// withCredentials:true,
// success: function(data){
// $scope.prize = data;
// },
// err:function(err){
// alert(err);
// }
//});
另外我也按照搜索到的要求添加了配置:
angular.module('zil',['ngRoute'])
.config(['$routeProvider', '$httpProvider',function($routeProvider, $httpProvider){
$httpProvider.defaults.useXDomain = true;//添加的配置
$routeProvider
.when('/',{……})
.when('/game',{
templateUrl:XXX,
controller:function(){
/*上面所有跨域请求的代码都位于这个位置*/
}
});
应该怎样才能用angularjs跨域请求呢?
某草草2017-05-15 16:53:02
postCfg = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
transformRequest: function(data) {
return $.param(data);
}
}
app.config([
'$httpProvider',
function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]}
$http.post(url, {}, postCfg)
刚刚找到的方法,测速成功