success error ejemplos javascript ajax json jsonp

javascript - error - ¿Hay razones para no usar JSONP para las solicitudes AJA ~ X?



ajax request (4)

¿Abajo? Es bastante limitado: activa una solicitud "OBTENER" y recupera algún script que se ejecuta. No se maneja el error si su servidor arroja un error, por lo que también debe ajustar todos los errores en JSON. Realmente no puede cancelar o reintentar la solicitud. Está a merced de las diversas opiniones del autor del navegador sobre el comportamiento "correcto" de las etiquetas <script> generadas dinámicamente. La depuración es algo más difícil.

Dicho esto, lo he usado en ocasiones, y no he sufrido. YMMV.

Si está AJA~Xy una aplicación AJA~Xy , ¿hay alguna desventaja en el uso de las solicitudes / respuestas de JSONP incluso si no tiene previsto realizar solicitudes entre cross-domain ?

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

Editar:

Encontré esto que también sugiere la security and error handling como posibles problemas ...

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

No creo que el error handling sea ​​un gran problema ... la mayoría de nosotros usaría 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 una revisión superficial, verificaría la referencia en el script del server side del server side .

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 ...?




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