2011-10-11 14 views
5

Estoy intentando utilizar el siguiente código para enviar una solicitud POST:solicitud de POST jQuery realmente envía como Get

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

Sin embargo, este siempre pasa por una petición GET, no una petición POST, y el servidor API lo rechaza. ¿Por qué jQuery insiste en hacer de esto una solicitud GET?

(Esto es intencional entre dominios, pero es JSONP así que no es un problema.)

Respuesta

20

JSONP es un hacerse sólo en la dataType: 'jsonp', siempre habrá un conseguir

Piense en JSONP así:

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

Dado que jsonp se mueve entre dominios cruzados, solo puede ser una solicitud de obtención.

Cuestiones relacionadas