如何处理AngularJS中的CORS请求



我在调用Web Services时在AngularJ中面临CORS请求的问题,但使用JQuery可以调用相同的服务。

注意:从服务器端我们接收标头" access-control-allow-origin:*" ,这些服务在jQuery应用程序中运行正常。

在这里,我要发布我的angularjs代码以及jQuery代码。

angularjs:

$http({
        method: 'POST',
        url:  $rootScope.host + "UserLogin",
        //headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
        data: {
            "uname": $scope.uname,
            "password": $scope.password
        },
    }).then(function (success) {
                $scope.loginDetails = success;
                console.log($scope.loginDetails);
    }),function (error){
            console.log(error);
});

如果我像headers: { 'Content-Type': 'application/x-www-form-urlencoded' }一样通过标头,可以ping服务,但我的请求不以JSON格式进行。

如果我将标题更改为 'Content-Type': 'application/json',则获取

XMLHTTPREQUEST不能加载https://xxxx.xxxx.in/xxxxapi/userlogin

对飞行前请求的响应不会传递访问控制检查:

没有"访问控制"标题在请求的资源上存在。因此,不允许访问来源'http://170.11.0.61'。

我不知道此错误的原因是什么。

$.ajax({
    url: BASE_URL + "UserLogin",
    type: "POST",
    xhrFields: {withCredentials: true},
    data: {
        "uname": uname,
        "password": password
    },
    cache: false,
    success: function (result, textStatus, request) {
        console.log(result);
    },
    error: function (e) {
        console.log("Error in login service call:"+JSON.stringify(e));
    }
});

此jQuery以JSON格式发送我的请求。

尝试通过

之类的标题
headers: { 'Content-Type': 'application/json' }

相关内容

  • 没有找到相关文章

最新更新