我有一个简单的角度控制器,如下所示:
angular.module('widget.controllers', [])
.controller('ProductController', ['$scope','$http', function ($scope, $http) {
$http.jsonp('http://localhost:27467/api/Products/GetProducts/EUR?callback=JSON_CALLBACK')
.success(function (data) {
console.log(data);
});
}]);
以及web api控制器中的简单操作:
[HttpGet]
public HttpResponseMessage GetProducts(string id)
{
var returnData = data;
string callback = ControllerContext.Request.GetQueryNameValuePairs().Where(kv => kv.Key == "callback").Single().Value;
return Request.CreateResponse(HttpStatusCode.OK, returnData, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter(),callback), new MediaTypeHeaderValue("text/javascript"));
}
我正在使用this formatter。但是响应不包含围绕JSON的回调函数名称。它产生类似:
({.....});
而不是:
myCallback({....});
请建议解决方案。