2011-08-19 19 views

Respuesta

4

Ajax reposar durante JavaScript asíncrono y XML/XhttpRequet (la X depende y ha cambiado desde su mayoría JSON se utilizan hoy en día.

Es una manera de ejecutar una solicitud de la página utilizando javascript para el servidor y recibir algún tipo de respuesta. Esta respuesta puede ser cualquier cosa, json, xml, text, html, etc ...

Esto hace que las páginas se vean muy receptivas sin tener que volver a cargar la página completa para ejecutar acciones en ella. Por ejemplo, publicar esta respuesta a sus preguntas. :-)

Json es un formato de datos para JavaScrip Object Notation. Es un formato de serialización más ligero que xml y tiene la ventaja de ser JavaScript.

JsonP es el próximo y lógico paso para usar Ajax con Json.

Un servidor responderá con JSONP envolviendo el objeto Json en una función de devolución de llamada. El cliente pasa el nombre de la función al servidor, generalmente como un parámetro en la cadena de consulta. P significa acolchado, ya que el servidor rodea el objeto json con el nombre de la función y el objeto como argumento.

callback({"name":"my name"}); 

Ver: http://en.wikipedia.org/wiki/JSONP para una explicación más detallada.

+0

Me gustó la parte "Por ejemplo, publicando esta respuesta a sus preguntas ...". :) de vuelta a ti! –

47
  • Ajax - "Asynchronous JavaScript and XML". Ajax define vagamente un conjunto de tecnologías para ayudar a que las aplicaciones web presenten una experiencia de usuario más rica. La actualización y actualización de datos de la pantalla se realiza de forma asíncrona utilizando javascript y xml (o json o simplemente una publicación http normal).

  • JSON - "JavaScript Object Notation". JSON es como xml en que se puede usar para describir objetos, pero es más compacto y tiene la ventaja de ser javascript real. Un objeto expresado en JSON se puede convertir en un objeto real para ser manipulado en código JavaScript.

  • De manera predeterminada, las solicitudes Ajax tienen que ocurrir en el mismo dominio de la página donde se origina la solicitud. JSONP - "JSON con relleno": se creó para permitirle solicitar recursos JSON de un dominio diferente. (CORS es una alternativa más nueva y mejor que JSONP.)

  • REST - "Representational State Transfer". Las aplicaciones que utilizan los principios de REST tienen una estructura de Url y un patrón de solicitud/respuesta que giran en torno al uso de los recursos. En un modelo puro, los verbos HTTP Get, Post, Put y Delete se utilizan para recuperar, crear, actualizar y eliminar recursos, respectivamente. Put y Delete menudo no se utilizan, dejando GET y POST para mapear para seleccionar (GET) y crear, actualizar y eliminar (POST)

16

Ajax, o más correctamente, AJAX, es sinónimo de JavaScript asíncrono y XML. Técnicamente se refiere a cualquier solicitud asincrónica realizada por el navegador (cualquier cosa que use un XmlHttpRequest) en nombre de algún script que se ejecute en la página actual, independientemente de qué tipo de contenido se devuelva. También se puede utilizar para describir un determinado patrón de construcción de una página/sitio donde la mayoría/todo el contenido se busca/actualiza dinámicamente en la página. Cuando se usa para describir un formato de datos, "ajax" normalmente significa "xml".

JSON es un formato de codificación de datos. El nombre en sí es un acrónimo de "JavaScript Object Notation". los datos con formato JSON se parece a:

{"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}} 

datos JSON pueden ser traída por una petición AJAX, aunque se utiliza muy comúnmente en otros contextos como un peso ligero, extensible y fácil de análisis sintáctico formato de intercambio de datos.

JSONP es simplemente datos con formato JSON envueltos en una función de devolución de llamada. La "P" significa "con relleno", que es algo estúpido a menos que prefiera pensar en llamadas de función como "relleno". En cualquier caso, los datos JSONP se verá como:

someFunction({"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}}); 

Como tal, JSONP es realmente sólo un fragmento de código JavaScript, ya diferencia de JSON no se utiliza fuera del contexto de JavaScript, navegadores (u otros clientes compatibles con JavaScript) y AJAX solicita. La razón para usar JSONP es que permite que el same-origin policy sea subvertido. Una secuencia de comandos que proviene del sitio X no puede realizar una solicitud directa al sitio Y si el sitio Y está en un dominio diferente del sitio X. Pero si el servidor del sitio Y puede enviar respuestas formateadas en JSONP, la secuencia de comandos del sitio X puede agregar una nueva etiqueta <script> al documento que hace referencia a una URL en el sitio Y, y cuando se carga la respuesta del sitio Y invocará alguna función de devolución de llamada que el guión X haya definido en el documento, dando así acceso guión X a datos cargados dinámicamente desde sitio Y.

Tenga en cuenta que los datos JSONP no se solicitan (normalmente) utilizando un XmlHttpRequest. Se puede hacer de esta manera, sujeto a las advertencias estándar de la política de origen mismo, pero luego se pierde la magia entre dominios que hace que JSONP sea útil en primer lugar.

REST es simplemente la descripción/descripción formal de cómo HTTP realmente funciona/está destinado a ser utilizado. Si comprende el concepto de una URL utilizada para solicitar un recurso correspondiente de un servidor y la diferencia entre Get y Post, entonces realmente sabe todo lo que necesita sobre RESTO.

Cuestiones relacionadas