angular.js jsonp错误状态404

时间:2015-01-13 19:11:04

标签: .net angularjs azure asp.net-web-api jsonp

我有一个SPA,我正在尝试从角度为$http.jsonp的远程.NET WebAPI获取JSON数据

var widgetApp = angular.module('widgetApp', ['ngRoute']).config(function($interpolateProvider){
    $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
});

widgetApp.controller('topStreaksCtrl', function ($scope, $http) {

  $http.jsonp('http://REMOTESERVER.azurewebsites.net/api/Serie/getdata?callback=JSON_CALLBACK')
     .success(function(response){
        $scope.data = response;
    }).
    error(function(data, status, headers, config){
        console.log(data);
        console.log(status);
        console.log(headers);
        console.log(config);
    })
});
angular.bootstrap(document, ['widgetApp']);

我可以看到Chrome网络上的响应数据,但jsonp函数始终返回错误。状态404? WebAPI上需要的任何配置吗?

1 个答案:

答案 0 :(得分:0)

如果您尝试从Azure提供静态数据,则需要将以下内容添加到Web.config,否则您将收到404,因为未设置json MIME类型默认情况下

Reference

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
     </staticContent>
    </system.webServer>
</configuration>