jQuery POST请求实际上作为GET发送

我正在尝试使用以下代码发送POST请求:

$.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!'); } }); 

但是,这总是作为GET请求而不是POST请求进行,并且API服务器因此拒绝它。 为什么jQuery坚持要把它作为GET请求?

(这是故意跨域的,但它是JSONP所以这不是问题。)

JSONP只是一个GET,因此dataType: 'jsonp',将永远是一个get

想想JSONP是这样的:

  

由于这是jsonp如何绕过跨域,它只能是一个get请求。