I'm trying to use the following code to send a POST request:
$.ajax({
type: "post",
url: 'http://api.com/'+apiUsername+'/'+apiBucket+'/elements/add',
dataType: 'jsonp',
contentType: "application/json",
data: JSON.stringify({
username: apiUsername,
api_key: APIkey,
elementPermalink: tURL
}),
success: function() {
console.log('posted!');
}
});
However, this always goes through as a GET request, not a POST request, and the API server consequently rejects it. Why is jQuery insisting on making this a GET request?
(This is intentionally cross-domain, but it's JSONP so that's not a problem.)
JSONP is a GET only so dataType: 'jsonp',
will always be a get
Think of JSONP like this:
<script src="http://url.com/?query=string"></script>
Since that's how jsonp gets around cross-domain, it can only be a get request.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With