我有一个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上需要的任何配置吗?
答案 0 :(得分:0)
如果您尝试从Azure提供静态数据,则需要将以下内容添加到Web.config
,否则您将收到404,因为未设置json MIME类型默认情况下
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>