JQuery

2016-03-30 10 views
0

WebMethod dönüş değeri nasıl alınır JQuery çağrısından WebMethod döndürme değerini almayı deniyorum, ancak "undefined" iletisini alıyorum. İşteJQuery

$.ajax({ 
     type: "POST", 
     url: "Receipt/BarcodeEntered", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "text", 
     success: function (msg) { 
        alert(msg.d); // This displays "Undefined" 
        alert(msg); // This displays the whole html 
       } 
}); 

altında benim kodudur ve WebMethod ben WebMethod gelen değer elde ve istemci tarafında görüntülemek nasıl

[WebMethod] 
public static string BarcodeEntered() 
{ 
    return "test_string"; 
} 

altındadır?

cevap

2

WebMethod yetkilisi yalnızca XML veya JSON'u döndürebilir. Standart json, yani dönmek ne dataType: "json",

$.ajax({ 
     type: "POST", 
     url: "Receipt/BarcodeEntered", 
     data: "{}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
        alert(msg); 
       } 
}); 

JQuery yılında

değişikliği json dönüştürülür alır ve sınıf değildir tek dize döndürmesi gerekir. çünkü dize geçerli json nesnesine dönüştürülemez.

public class SampleClass{ 
    public string Message {set; get;} 
} 

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public SampleClass BarcodeEntered() 
{ 

     return new SampleClass(){ 
     Message = "Sample message" 
    }; 

} 
+0

Merhaba, ben zaten denedim ama güncellenmiş cevabı –

+0

... "parsererror" hatası vermeye üzgünüm C# kodunda hatalar vardı .. tekrar dene –

+0

Üzgünüm ama –

0

JSON'u geri göndermeniz gerekirse, bir örnek yazayım.

0

İşte bu çalışma asp benim asp.net sayfamda kullanıyorum. Veriler d özellikte olacaktır.

JQuery kodu.

$.ajax({ 
    type: "POST", 
    url: "/Subfolder/MyPageName.aspx/myWebMethodName", 
    data: '{}', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (msg) { 
     if (msg.d == "OK") { 
     alert("OK") 
     } else { 
     alert(msg.d); 
     } 
    } 
    }); 

C# Kod

[WebMethod] 
public static string myWebMethodName() 
{ 
    return "OK"; 
}