Red de conocimiento informático - Conocimiento sistemático - Análisis de los motivos y soluciones para no asignar valores a variables globales en métodos de llamada asincrónica jquery ajax

Análisis de los motivos y soluciones para no asignar valores a variables globales en métodos de llamada asincrónica jquery ajax

Este artículo trata principalmente sobre jquery.

Análisis detallado e introducción de las razones y soluciones por las que el método de llamada asincrónica ajax no puede asignar valores a variables globales. Los amigos necesitados pueden venir aquí como referencia. Espero que pueda ayudar a todos.

Cuando llamamos al método ajax de jquery, a veces necesitamos que este método devuelva un valor o asigne un valor a una variable global. Sin embargo, encontramos que no se obtuvo el valor deseado después de ejecutar el programa. En este momento lo más probable es que estés usando la llamada asincrónica de ajax async:true (predeterminado), por ejemplo:

El código es el siguiente:

Función

ManageCommentText(text )

{

Definir variable

Resultado

=

Texto;

$.ajax({

Datos:

"Obtener",

URL:

" ObtenerComentarios.aspx ",

Datos:

" tipo = getText & ampcommentText= "

+

Texto,

Caché:

Falso,

Asíncrono:

Falso,

Éxito:

Función

(datos)

{

Resultado

=

Datos;

}

})

Devolver

resultado;

El método anterior es una llamada sincrónica de ajax. Solo cuando se obtenga el valor de los datos y se asigne al resultado, se devolverá el resultado para completar la llamada a este método. Si se establece en async:true,

El resultado se devolverá antes de que se obtenga el valor de los datos.

Otra solución es escribir el código directamente en el método de éxito. Dependiendo de su negocio, no todo puede contribuir directamente al éxito.

Nota: si se establece en

asincrónico:

Falso, pierde.

Ventajas de ajax asíncrono.