使用POST阻止跨源请求但是在浏览器上使用req工作正常,但设备无法正常工作

时间:2016-04-03 02:58:17

标签: javascript angularjs ionic-framework

我正在尝试使用离子来构建应用程序。我正在使用此代码

  var req = 
                    {
                        method: 'POST',
                        url: API_END_POINT + "/accounts/login",
                        data: this.toparams(myobject),
                        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
                    }

                    $http(req).
                    success(function(data, status, headers, config) 
                    {
                       if(data.result = 'success') {
                console.log('Success', data);
                deferred.resolve(data);
            } else {
                deferred.resolve(0);
            }
                    }).
                    error(function(data, status, headers, config) 
                    {
                        console.error('ERR');
     deferred.resolve(0);
                    });

            return deferred.promise;

}

这在浏览器上工作正常,但在设备上却没有。

即使我厌倦了使用这种方法

var link = API_END_POINT +" / accounts / login";

$http.post(link, {username : $scope.data.username,password:$scope.data.password}).then(function (res){
    $scope.response = res;
});

这让我在浏览器上出现CORS错误。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您必须检查您的服务器,因为大多数使用的服务器的默认配置禁止跨源资源共享(CORS)。

您可以阅读此网站以配置您的服务器:

http://enable-cors.org/server.html