【问题标题】:JSONP response from WebAPI to Angular从 WebAPI 到 Angular 的 JSONP 响应
【发布时间】:2014-07-26 14:48:41
【问题描述】:

我有一个简单的角度控制器,如下所示:

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({....});

请提出解决方案。

【问题讨论】:

    标签: javascript json angularjs asp.net-web-api jsonp


    【解决方案1】:

    使用this 来控制哪些API 允许或不允许CORS。史诗!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-22
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 2013-05-13
      • 2012-07-29
      相关资源
      最近更新 更多