Heim >Web-Frontend >js-Tutorial >Eine kurze Analyse des Problems der Übertragung von JSON-Daten aus dem Ajax-Hintergrunderfolg
Bei der kürzlichen Verwendung der Ajax-Methode von JQuery handelt es sich bei den Daten, die zurückgegeben werden müssen, um JSON-Daten. Bei der Erfolgsrückgabe verwendet die Datenverarbeitung je nach Rückgabemethode unterschiedliche Methoden, um JSON-Daten zu generieren. Der folgende Editor zeigt Ihnen, wie Sie mit der $.ajax-Methode umgehen. Freunde, die sich für Ajax interessieren, sollten einen Blick darauf werfen!
Bei der kürzlichen Verwendung der Ajax-Methode von JQuery handelt es sich bei den Daten, die zurückgegeben werden müssen, um JSON-Daten. Bei der Erfolgsrückgabe verwendet die Datenverarbeitung unterschiedliche Methoden, um JSON-Daten entsprechend der Rückgabemethode zu generieren. Wie es in der $.ajax-Methode gehandhabt werden soll, wird kurz erklärt.
Geben Sie zunächst die zu übertragenden JSON-Daten an: [{"demoData":"This Is The JSON Data"}]
1, verwenden Sie eine normale ASPX-Seite zur Verarbeitung
$.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { $("input#showTime").val(data[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });
Hier ist der Code zum Übergeben von Daten im Hintergrund
Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();
Diese Verarbeitungsmethode analysiert die übergebenen Daten direkt in JSON-Daten, was bedeutet, dass der Front-End-JS-Code hier die Daten direkt analysieren kann . in JSON-Objektdaten anstelle von String-Daten, wie z. B. data[0].demoData, werden hier direkt verwendet
2, und Webservice (ASMX) wird zur Verarbeitung von
verwendet Diese Verarbeitungsmethode behandelt die übergebenen Daten nicht als JSON-Objektdaten, sondern als Zeichenfolge. Der folgende Code
$.ajax({ type: "post", url: "JqueryCSMethodForm.asmx/GetDemoData", dataType: "json",/*这句可用可不用,没有影响*/ contentType: "application/json; charset=utf-8", success: function (data) { $("input#showTime").val(eval('(' + data.d + ')')[0].demoData); //这里有两种对数据的转换方式,两处理方式的效果一样 //$("input#showTime").val(eval(data.d)[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });
Hier ist der ASMX-Methodencode
public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }
Diese Verarbeitungsmethode hier Behandelt die zurückgegebenen JSON-Daten als Zeichenfolge. Diese Daten müssen ausgewertet werden, damit sie zu echten JSON-Objektdaten werden können.
Das heißt,
success:function(data){ eval(data); }
Das oben genannte Problem ist das vom Herausgeber eingeführte Problem der JSON-Datenübertragung im Hintergrund. !
Verwandte Empfehlungen:
Der Unterschied zwischen Erfolg und Vollständigkeit in jQuery.ajax
Ajax wird es niemals zulassen Es wird nur ein Fehler angenommen, der Anforderungsstatuscode ist 200.
Javascript – So geben Sie JSON-Daten in der Erfolgsrückruffunktion in Ajax aus
Das obige ist der detaillierte Inhalt vonEine kurze Analyse des Problems der Übertragung von JSON-Daten aus dem Ajax-Hintergrunderfolg. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!