jquery跨域成功的情况下$http.post()和$http()跨域(CORS)请求均失败


这个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跨域请求呢?

cors angularjs

无聊、玩便便 10 years, 5 months ago

Your Answer