2011-10-27 12 views
8

Estoy publicando datos de una página ASP.NET en otra a través de la llamada jQuery ajax en forma de JSON.Analizando un mensaje de respuesta de error jQuery.ajax

Estoy simulando la situación, donde se obtiene un error en la llamada ajax. Recibo un mensaje de respuesta en caso de error y necesito asignar este html a un elemento en la página.

Aquí es lo que me pasa en un mensaje: jquery.ajax response

tengo msg variable javascript, que, cuando me miró a través de Chrome depurador muestra que contiene información que necesito en responseText.

¿Cómo obtengo el valor de responseText para mostrar en la página?

Respuesta

14

En JavaScript, los nombres de las variables distinguen entre mayúsculas y minúsculas. En su ejemplo, intentaba acceder al campo responseText en el objeto msg, pero tenía una 'R' mayúscula. Tal vez puedas probar:

msg['responseText'] 

O en mucha mejor estilo:

msg.responseText 
+0

+1 para la sugerencia estilo. – ZenMaster

+0

Casi lo tuve =) Gracias. –

2

Desde su un objeto utilizar la notación de puntos para acceder a ella como xhr.responseText

error: function(xhr, status, error) { 

    var err = eval("(" + xhr.responseText + ")"); 

    alert(err.Message); 

} 
+0

Mi primera tentación fue votar hacia abajo por usar eval ... ¡pero esto funciona realmente bien! :-) Gracias por esta respuesta. – richb01

2

Se puede ver en el código justo debajo del puntero del mouse - solo con "r", no con la "R" mayúscula:

msg['responseText'] 
1
<div id='error'></div> 

suponer que u consiguió error en msg

$('#error').html(msg.responseText) 
Cuestiones relacionadas