2010-10-13 14 views
10

Połączyłem trochę kodu AJAX jQuery za pomocą samouczków znalezionych w Internecie. Jestem nowy w jQuery i chcę nauczyć się, jak robić rzeczy lepsze. Mam współpracownika, który złożył piękną aplikację internetową przy użyciu dużej ilości jQuery.Dlaczego muszę użyć .d, aby uzyskać dostęp do danych zwróconych przez jQuery AJAX?

Najbardziej niepokoi mnie tutaj: dlaczego konieczne jest użycie ".d" w odniesieniu do odpowiedzi mojej metody internetowej i co ona oznacza?

// 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 

Odpowiedz

4

Domyślam się, że alert(msg) wyświetla "[obiekt obiektu]"?

Jeśli tak, to dlatego, że obiekt, który jest analizowany przez window.JSON (co dzieje się pod maską podczas określania json jako danych: dataType) ma naprawdę wyglądać:

object = { 
    d: "some data" 
} 

sprawdź co generują w ViewNamesAndNumbers.aspx/hello

5

Firma Microsoft robi to, aby chronić Cię przed lukami w zabezpieczeniach. Więcej informacji znajduje się w dolnej części This Page.

Powiązane problemy