2010-02-05 20 views
18

Tengo el siguiente fragmento de código, que sólo estoy tratando a cabo mediante la ejecución de FirebugJQuery ¿Cómo saber cuál es el error de Ajax?

$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(e, ts, et) { alert(ts) } 
}) 

En teoría debería funcionar. Sin embargo, el controlador de errores se activa y ts simplemente se configura como "error". ¿Cómo obtengo más detalles sobre lo que salió mal?

+2

Abra Firebug o IE8 depurador y ponga un punto de interrupción en su 'alerta (ts)'. Examine sus parámetros 'e, ts, et' para averiguar dónde se almacena la información que desea. –

Respuesta

30
$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(ts) { alert(ts.responseText) } 
}) 
+5

hmm - está en blanco. ¿Algunas ideas? –

+1

hmm ... prueba responseStatus – ozsenegal

+3

por qué las alertas, no son buenas para nadie. use un depurador; declaración o console.dir el objeto. ¡Cualquier cosa menos alertas! – redsquare

4

El mensaje de error que jQuery le brinda no es muy descriptivo. Puede ser "timeout", "error", "notmodified" o "parsererror". http://api.jquery.com/jQuery.ajax/, entonces, lo que puede concluir es que no se trata de un error de tiempo de espera, no se ha modificado o no se han corregido los errores que está obteniendo.

Asegúrese de que en Firebug vea la solicitud establecida en la dirección correcta y se están estableciendo los datos correctos. También puede ver la respuesta, de modo que si también tiene acceso al código del servidor, una forma rápida y sucia es simplemente hacer eco de lo que sucede en el servidor y ver la respuesta con Firebug.

Además, no estoy seguro de si esto es un problema, pero intente configurar los datos en {parameter1: 44906} (básicamente elimine las comillas para que pase un objeto y no una cadena).

Cuestiones relacionadas