WebApiContrib.Formatting.Jsonp
provides a JSONP MediaTypeFormatter implementation for ASP.NET Web API.
In order to add it to your Web API solution, run Install-Package WebApiContrib.Formatting.Jsonp
from your NuGet Package Manager console in Visual Studio.
To use the JsonpMediaTypeFormatter
, add the following code to your configuration in Global.asax.cs:
GlobalConfiguration.Configuration.AddJsonpFormatter();
You can specify a MediaTypeFormatter
and callback parameter name as optional parameters. By default, the JsonpMediaTypeFormatter
will use the config.Formatters.JsonFormatter
and callback
as default values.
You should specify text/javascript
the media type to accept in the request's Accept
header. If you leave this out, the client may receive application/json
as the default JsonMediaTypeFormatter
will likely handle the request. In other words, the Accept
header is used as the means to signal Web API to use the JsonpMediaTypeFormatter
. For example, in JQuery, you would write:
$.ajax({ type: "GET", url: "/jsonp-endpoint?callback=callme", contentType: "text/javascript", // ... });
The JsonpMediaTypeFormatter
will then match the specified callback parameter name from the request URI, e.g. ?callback=?
.
If you are using traditional routing, update your Default ASP.NET Web API route in /App_Start/WebApiConfig.cs
:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
To see the JsonpMediaTypeFormatter
in action, just clone this project, run the WebContribContrib.Formatting.Jsonp.SampleWebHost
project web application, and then start the WebApiContrib.Formatting.Jsonp.SampleJQueryClient
web application and hit the "Get JSONP" button.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4