为什么我的Web API会给出301响应?

时间:2016-05-10 00:58:16

标签: asp.net angularjs

我在下面使用AngularJS代码调用Web API URL:

http://www.stevegaines.info/api/Certifications

当我在浏览器中输入此URL时,我看到了很好的数据,但是当我运行AngularJS代码时,我什么也看不见。所以我进入开发人员工具,在网络下,请求看起来正确,但响应是301永久移动。 2天前我切换了Web Hosts然后我换回了。这可能是原因吗?自我更新DNS以来已经超过24小时了。

        var oApp = angular.module("myApp", []);

        oApp.controller("certificationsCtrl", function ($scope, $http)
        {
            $scope.Certifications = {};
            var url1 = "http://www.stevegaines.info/api/Certifications";

            $http.get(url1)
                .success(function (response)
                {
                    console.log("Data: " + response.data);
                    $scope.Certifications = response.data;
                });
        });

2 个答案:

答案 0 :(得分:0)

您的网站似乎会自动从www重定向到非www版本,这可能是您在请求该URL时看到的内容。大多数浏览器会自动处理此问题,即使使用AJAX或框架也会遵循重定向。

您可以在代码中没有www的情况下尝试它,然后使用调试工具可以看到返回的内容。检查“响应”选项卡或“内容”选项卡,以查看返回的内容,或者如果仍然获得301,请检查返回的位置标头,这可能会使事情更加清晰。

答案 1 :(得分:0)

问题是CORS - 跨域资源共享。换句话说,呼叫来自不同的域,为此我需要启用CORS。