2010-10-13 16 views
10

He creado un código JQuery AJAX utilizando algunos tutoriales que encontré en Internet. Soy nuevo en jQuery y quiero aprender cómo hacer las cosas mejor. Tengo un compañero de trabajo que creó una hermosa aplicación web utilizando una gran cantidad de jQuery.¿Por qué necesito usar .d para acceder a los datos devueltos por jQuery AJAX?

Lo que más me causa confusión aquí es: ¿por qué es necesario utilizar la ".d" cuando se refiere a la respuesta de mi método web y qué significa?

// ASP.net C# code 
    [System.Web.Services.WebMethod] 
    public static string hello() 
    { 
     return ("howdy"); 
    } 

// Javascript code 
function testMethod() { 
    $.ajax({ 
     type: "POST", 
     url: "ViewNamesAndNumbers.aspx/hello", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
      alert(msg); // This doesn't display the response. 
      alert(msg.d); // This displays the response. 
     } // end success: 
    }) // end $.ajax 

Respuesta

4

Supongo que alert(msg) muestra "[objeto Object]"?

Si es así es porque el objeto que se analiza a través window.JSON (lo que ocurre bajo el capó cuando se especifica json como tipo de datos) tiene realmente mirar:

object = { 
    d: "some data" 
} 

Comprobar lo que estás generando en ViewNamesAndNumbers.aspx/hola

5

Microsoft hace esto para protegerlo de un ataque de seguridad. Consulte la parte inferior de This Page para obtener más información.

Cuestiones relacionadas