2011-10-11 11 views
5

Sto cercando di utilizzare il seguente codice per inviare una richiesta POST:richiesta jQuery POST in realtà invia come entrare

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

Tuttavia, questo sempre attraversa come una richiesta GET, non una richiesta POST, e il server API di conseguenza lo rifiuta. Perché jQuery insiste nel fare di questa richiesta GET?

(Questo è volutamente cross-domain, ma è JSONP in modo che non è un problema.)

risposta

20

JSONP è una ottiene solo così dataType: 'jsonp', sarà sempre un ottenere

Pensate JSONP come questo:

<script src="http://url.com/?query=string"></script> 

Poiché è così che jsonp ottiene il dominio incrociato, può essere solo una richiesta di ottenere.

Problemi correlati