2011-10-13 9 views
5

Quiero publicar un formulario con JSONP ¿hay alguna solución viable?Publique un formulario con JSONP

Quiero publicar el formulario en un dominio diferente de jsonp.

+0

Muéstranos algo de código, por favor! ¿Cómo se supone que alguien debe responder así? – vzwick

+0

Solo puede enviar solicitudes GET usando JSONP. – andlrc

+0

@vzwick gracias por su rápida respuesta. el escenario es que tengo formulario en mi servidor, pero quiero enviar el formulario a otro servidor a través de ajax, pero ajax no lo permite, así que jsonp me ayudó a enviar datos a diff. servidor funciona con el método GET, pero quiero el método POST que no funciona con jsonp. ¿alguna idea? –

Respuesta

4

No se puede hacer una POST de origen cruzada con JSONP.

Sin embargo, puede:

  1. Serialize forma en una cadena de consulta y enviarlo junto con una petición GET.
  2. Use CORS(Cross Origin Resource Sharing) si puede darse el lujo de apuntar solo browsers modernos.
  3. solicitud
2

Un JSONP es sólo la creación de una etiqueta de script con una función llamada:

Javascript:

var head = document.getElementsByTagName("head")[0]; 
var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script src = 'url_to_post.serverside?callback=callback_function'; 

var callback_function(response) { 
    head.removeChild(script); 
    alert(response.abc); // returns def; 
}; 

url_to_post.serverside:

callback_function({"abc": "def"}); 

Esperamos que puedan ver por qué solo funciona para solicitudes GET

:)

2

Puede utilizar la opción de que en los datos de sus $ .post, .get $, $ .ajax método:

$('form').serialize()