2010-11-23 10 views
0

Meine jQuery führt ihre Aktion mit Erfolg aus, ich weiß, weil ich mit dem Server authentifiziert werde, aber ich habe ein Problem beim Zugriff auf die Rückgabedaten. Ich habe versucht, fügte die .d zu Lösungen auf Google gefunden ..ASP.net, C# 4, WebMethod, JQuery-Ajax, JSON-Daten - Holen Sie sich die Rückkehr?

JQuery:

$.ajax({ 
    url: "something.asmx/Login", 
    type: "POST", 
    data: "{'a': '" + a.val() + "', 'p': '" + p.val() + "'}", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    cache: false, 
    timeout: 10000, 
    error: function() { 
     //Not needed here  
    }, 
    success: function (msg) { 
     if (msg.d == '1') { 
      //Something not need for question 
     } 
     else { 
      //Not needed here neither. 
     } 
    } 
}); 

Und mein Webmethode (something.cs):

private string res; 

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public string Login(string a, string p) { 
    if (SecurityTools.GainAccess(a, p)) res = "1"; 
    else res = "0"; 
    return new JavaScriptSerializer().Serialize(res); 
} 
+0

Verwenden Sie einen JSON-Serializer, um die Zeichenfolge 'data' zu erstellen, anstatt sie manuell zu erstellen. – ThiefMaster

+1

Um herauszufinden, was vom Server zurückgesendet wird, fügen Sie 'console.log (msg);' zu Ihrem Callback hinzu und führen Sie die Funktion dann aus, während Firebug geöffnet ist. – ThiefMaster

Antwort

0

ich meine Antwort gefunden, ich hatte zu schreiben :

if (msg.d == '"1"') 

beide mit JavascriptSerializer und Newtonstof.Json Namensraum.

Verwandte Themen