JSONP

JSONP

JSON (Json with Padding) complements in the existing capability of Enterprise Tester API methods to return JSON. I provides a method to request data from the server where CORS is not a viable alternative.

In a JSONP request, the contents of the response is wrapped in a javascript function call, which allows you to fetch it with a script tag, and the have to response automatically invoke the callback once loaded, to process the response body - let's take a look at an example:

To make a JSONP request you pass an additional query parameter as part of the url with the name "callback", the value of which is the name of the callback function to invoke:

Example

If we make a request as follows:

GET http://localhost/EnterpriseTester/api/groups?callback=processResponse

Then we can see in the response, that it's wrapped in a call to the function processResponse:

processResponse({
  "Items": [
    {
      "Id": "2192ce56-971d-4b19-9df7-a0770041f1cf",
      "Name": "Viewer",
      "Description": "Viewer",
      "Expands": [
        "Users"
      ],
      "Self": "http://localhost/EnterpriseTester/api/group/2192ce56-971d-4b19-9df7-a0770041f1cf",
      "Links": [...]
    },
    ...
  ],  
  "Self": "http://localhost/EnterpriseTester/api/groups?callback=process"
})

Limitations

JSONP requests are only support for GET HTTP methods.