Pregunta

Si estás construyendo un AJA~Xy aplicación, ¿hay alguna desventaja en usarla? JSONP solicitudes/respuestas incluso si no estás planeando ninguna cross-domain ¿peticiones?

Lo único que se me ocurre es que hay un par de bytes adicionales para el contenedor de devolución de llamada...

Editar:

encontré este lo que también sugiere security and error handling como problemas potenciales...

No hay manejo de errores.El script injection o funciona o no.Si hay un error del injection, llegará a la página y, a falta de un controlador de errores para toda la ventana (malo, malo, muy malo), debe asegurarse de que el valor de retorno sea válido en el server side.

no creo error handling es un gran problema...la mayoría de nosotros usaríamos una biblioteca para generar el JSON...La buena formación de mi respuesta no es una preocupación para esta pregunta.

y seguridad:

Hay documentos en la web que pueden ayudar, pero como verificación superficial, verificaría la referencia en el server side guion.

Parece que este es un problema potencial con cualquier tipo de respuesta...Ciertamente, no hay nada exclusivo de JSONP en el ámbito de la seguridad...?

¿Fue útil?

Solución

¿Abajo?Es bastante limitado: activa una solicitud "GET" y recupera algún script que se ejecutó.No obtienes manejo de errores si tu servidor arroja un error, por lo que también debes empaquetar todos los errores en JSON.Realmente no puedes cancelar o volver a intentar la solicitud.Estás a merced de las diversas opiniones de los autores del navegador sobre el comportamiento "correcto" para archivos generados dinámicamente. <script> etiquetas.La depuración es algo más difícil.

Dicho esto, lo he usado en alguna ocasión y no he sufrido.YMMV.

Otros consejos

Es posible recuperar errores cuando falla una llamada jsonp.

http://code.google.com/p/jquery-jsonp/

Espero eso ayude.

Yo diría que la mayor limitación podría ser la sobrecarga adicional que implica que el navegador muestre una etiqueta de secuencia de comandos para llamar al servidor.Además, ¿JSONP realmente se considera AJAX ya que en realidad no utiliza el objeto XMLHttpRequest?

Aquí hay otra parte que quizás quieras considerar con JSONP.posibles pérdidas de memoria..

http://neil.fraser.name/news/2009/07/27/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top