如何根据web api请求选择客户端是否需要json响应或jsonp

时间:2015-04-03 10:03:28

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

我开发了一个web api,因为我已经实现了jsonp for mater like

 var jsonpFormatter =
                new JsonpMediaTypeFormatter(formatters.JsonFormatter);
 formatters.Insert(0, jsonpFormatter);

我可以使用jsonp使用下面提到的请求

来使用它
 $.ajax({
            type: 'GET',
            url: "http://localhost:61734/api/baseapi",
            callback: 'returnCallBack',
            contentType: "application/json",
            dataType: 'jsonp'
        });

我的问题如何使我们的api可以根据请求识别响应应该是json还是jsonp。任何人都可以根据我的要求请求帮助API给我json或jsonp响应。

1 个答案:

答案 0 :(得分:0)

有几个nuget包可以为你做这个,所以你不必重新发明轮子。例如。 WebApiContrib.Formatting.JsonP

如果你不想使用另一个库,那么他们正在做的事情的基础是创建一个新的MediaTypeFormatter,它将检查一个回调参数的请求,指示它是JsonP并包装序列化响应" Callbackname(" + json +");"