Colección de citas famosas - Frases célebres - Bueno, ¿sigues usando Ajax? Ve a buscarlo, conócelo

Bueno, ¿sigues usando Ajax? Ve a buscarlo, conócelo

"Estás en el desierto ahora mismo, así que deberías concentrarte en el desierto. El desierto, como todo lo demás en el mundo, puede usarse para comprender el mundo. Ni siquiera tienes que entender el desierto, solo mira lo ordinario". granos de arena Vea la magia de todo en el mundo. ——"El viaje de la vida de un niño pastor"

La API Fetch proporciona una interfaz para obtener recursos (incluidas las solicitudes entre dominios). Después de usar XMLHttpRequest, puede comenzar fácilmente. La nueva API proporciona un conjunto de funciones más potente y flexible.

Fetch proporciona definiciones generales de encabezados de solicitud y respuesta (y otros objetos relacionados con solicitudes de red).

Fetch() debe aceptar un parámetro: la ruta del recurso Independientemente de si la solicitud es exitosa o no, devuelve un objeto Promise y resuelve la respuesta a la solicitud.

Una vez recibida la respuesta. se devuelve, hay métodos que puede utilizar para definir la forma del contenido y cómo manejarlo. También puede crear la solicitud y la respuesta directamente a través de los constructores de solicitud() y respuesta(), pero esto no se recomienda. /p >

La API Fetch proporciona una interfaz JavaScript para acceder y manipular partes específicas de la canalización HTTP, como solicitudes y respuestas. También proporciona un método fetch() global, que proporciona un método simple y razonable. obtener recursos de forma asincrónica a través de la red

Las principales diferencias entre la especificación Fetch y jQuery.ajax() son las siguientes:

En uso, fetch() acepta una cadena URL como una. parámetro.De forma predeterminada, se envía una solicitud GET a la URL y se devuelve un objeto Promise.

Aquí usamos el entorno de nodo para aprender. Por supuesto, es más comparable en el navegador. instale el paquete de dependencia basado en nodos node-fetch. Por lo tanto, debemos prestar atención al problema de la versión aquí.

Al mismo tiempo, necesitamos un servicio web para realizar pruebas. python.

Archivo Data.json<. /p>

Ahora que los preparativos están completos, divirtámonos aprendiendo

La solicitud de obtención básica es fácil de configurar:

Esto es del servidor. Solicitud de devolución de llamada para obtener datos JSON. Demostración en el entorno de nodo.

La respuesta recibida por fetch() es un objeto de flujo y respuesta.json() es. una operación asincrónica, sacando todo el contenido y cambiándolo en objetos json.

En resumen, son similares a axios en el entorno de nodo, ambos se basan en el módulo HTTP. comunicación en el navegador, fetch es una nueva API y la última tecnología alternativa a XMLHttpRequest. Aquí hay un ejemplo de axios.

La promesa se puede reescribir usando la sintaxis de espera para aclarar la semántica.

La instrucción Await debe colocarse en try...catch para capturar errores que puedan ocurrir durante operaciones asincrónicas.

Después de que la solicitud fetch() sea exitosa, obtendrá un objeto de respuesta. Corresponde a la respuesta HTTP del servidor.

La respuesta contiene el atributo de desincronización, que corresponde al encabezado de respuesta HTTP y se puede leer inmediatamente.

response.ok: Propiedad devuelve un valor booleano que indica si la solicitud fue exitosa, donde verdadero corresponde a los códigos de estado 200 a 299 de la solicitud HTTP y falso corresponde a otros códigos de estado.

Response.status: Esta propiedad devuelve un número que indica el código de estado de la respuesta HTTP (por ejemplo, 200, que indica que la solicitud fue exitosa).

Response.statusText: esta propiedad devuelve una cadena que indica la información de estado de la respuesta HTTP (por ejemplo, después de que la solicitud es exitosa, el servidor devuelve "OK").

Respuesta.url: Este atributo devuelve la url solicitada. Si hay saltos en la URL, esta propiedad devolverá la URL final.

respuesta.tipo: Propiedad devuelve el tipo de solicitud. Los valores posibles son los siguientes:

Lanzamos una excepción en la interfaz del servicio web de Python y luego la detectamos directamente.

Error de ejecución: Error interno del servidor, es decir, 500

El código de estado devuelto por la interfaz modificada es 400.

Informar una solicitud de error

También puede juzgar directamente según la respuesta

El código de estado devuelto por la interfaz modificada es 404.

El objeto de respuesta también responde. Propiedad de encabezados, que apunta al objeto de encabezados correspondiente a todos los encabezados de la respuesta HTTP.

Puedes utilizar for para recorrer el objeto de encabezado... en un bucle.

El objeto Headers proporciona los siguientes métodos para manipular los encabezados. En la respuesta HTTP, modificar el encabezado tiene poca importancia.

El objeto de respuesta proporciona diferentes métodos de lectura según el tipo de datos devuelto por el servidor. El método de lectura es asincrónico y devuelve objetos Promise. Debe esperar hasta que finalice la operación asincrónica antes de recuperar los datos completos del servidor.

response.text() se puede utilizar para obtener datos de texto, como archivos HTML. "

"response.json() se utiliza principalmente para obtener los datos json devueltos por el servidor."

"response.formData() se utiliza principalmente en Service Worker para interceptar el formulario enviado por el usuario Modifique algunos datos y luego envíelos al servidor "

"response.blob() se utiliza para obtener archivos binarios."

Response.arrayBuffer(. ) se utiliza principalmente para obtener archivos multimedia en streaming.

Un objeto de flujo solo se puede leer una vez y luego desaparece. Esto significa que solo se puede utilizar uno de los cinco métodos de lectura de la sección anterior; de lo contrario, se informará un error.

El objeto de respuesta proporciona el método Response.clone() para crear una copia del objeto de respuesta para lograr múltiples lecturas.

El objeto de respuesta también tiene un método Response.redirect(), que se utiliza para redirigir los resultados de la respuesta a la URL especificada. Este método generalmente sólo lo utiliza el personal de servicio.

La propiedad Response.body es la interfaz subyacente expuesta por el objeto Response y devuelve un objeto ReadableStream para la operación del usuario.

Se puede utilizar para leer el contenido del bloque. Una de sus aplicaciones es mostrar el progreso de la descarga.

El primer parámetro de fetch() es la URL. También puede aceptar el segundo parámetro como un objeto de configuración para personalizar la solicitud HTTP.

Los métodos, encabezados y cuerpos de datos de las solicitudes HTTP se configuran en este objeto.

Después de emitir la solicitud fetch(), si desea cancelarla a mitad de camino, debe utilizar el objeto AbortController.

La solicitud duerme durante 10 segundos, finaliza la solicitud a los 5 segundos, crea una nueva instancia de AbortController y luego envía una solicitud fetch(). El atributo de señal del objeto de configuración debe especificar que recibe la señal controlador.señal enviada por la instancia de AbortController.

El método controlador.abort() se utiliza para enviar una señal de cancelación. En este punto, se activará el evento de aborto. Este evento se puede monitorear y la propiedad controlador.signal.aborted se puede usar para determinar si se ha enviado la señal de cancelación.

"Entorno de nodo"

Entorno Python