Is it possible to post data to JsonP? Or does all data have to be passed in the querystring as a GET request?
I have alot of data that I need to send to the service, cross domain, and it is too large to send via the querystring
What are the options for getting around this?
thanks
Source: Tips4all
It is not possible to do an asynchronous POST to a service on another domain, due to the (quite sensible) limitation of the same origin policy. JSON-P only works because you're allowed to insert <script> tags into the DOM, and they can point anywhere.
ReplyDeleteYou can, of course, make a page on another domain the action of a regular form POST.
Edit: There are some interesting hacks out there if you're willing to go to a lot of effort inserting hidden <iframe>s and mucking about with their properties.
If you need to send a lot of data cross-domain. I usually create a service that you can call in two steps:
ReplyDeleteFirst the client do a FORM submit (post allowed cross domain). The service stores the input in the session on the server (using the GUID as key). (the client creates a GUID and send's it as a part of the input)
Then the client do a normal script-inject (JSONP) as a parameter you use the same GUID as you used in the FORM post. The service processes the input from the session and returns the data in the normal JSONP-fashion. After this the session is destroyed.
This of course relies on that you write the server-backend.