JQuery ajax JSONP POST changed to GET when cross domain
jquery, jsonp, wcf
Solution
There's no POST and JSONP. JSONP works by creating a new script tag in the DOM which sends a GET request to the server. You're giving jQuery.ajax two incompatible parameters (POST, jsonp), and jQuery is choosing one over the other.
One update: you can use something like CORS (Cross-Origin Resource Sharing) to enable non-GET requests to cross-domain services. WCF doesn't support it out-of-the-box, but I wrote a post about implementing it in WCF at http://blogs.msdn.com/b/carlosfigueira/archive/2012/05/15/implementing-cors-support-in-wcf.aspx.
Problem
I have a WCF Service that is expecting a POST. Using Fiddler I discovered that in cross-domain situations, my POST request was getting changed to a GET which results in error 405 from server. ``` $.ajax({ type: "POST", url: "http://blah/blah.svc/Test", data: JSON.stringify("{ 'WebUserID': 4 }"), dataType: "jsonp", // from server contentType: "application/json; charset=utf-8", // to server success: function (data, status, xhr) { alert("success--"); } }); ``` Can anyone shed some light on this? Thanks