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

fut*_*ime 5 ajax 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!');
    }
});
Run Code Online (Sandbox Code Playgroud)

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

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

Joe*_*Joe 20

JSONP只是一个GET,所以dataType: 'jsonp',永远都是一个获得

想想JSONP是这样的:

<script src="http://url.com/?query=string"></script>
Run Code Online (Sandbox Code Playgroud)

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