Heim >Web-Frontend >js-Tutorial >Eine kurze Analyse des Problems der Übertragung von JSON-Daten aus dem Ajax-Hintergrunderfolg

Eine kurze Analyse des Problems der Übertragung von JSON-Daten aus dem Ajax-Hintergrunderfolg

韦小宝
韦小宝Original
2018-05-14 15:04:401921Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn