Home > Article > Web Front-end > A brief analysis of the problem of json data transmitted from Ajax background success
Recently, when using JQuery's ajax method, the data that needs to be returned is json data. In the success return, data processing will use different methods to generate json data according to the return method. The editor below will introduce to you how to handle it in the $.ajax method. Friends who are interested in ajax should take a look!
When using JQuery's ajax method recently, the data that needs to be returned is json data. In the success return, data processing will use different methods to generate json data according to the return method. How it should be handled in the $.ajax method is briefly explained.
First give the json data to be transmitted: [{"demoData":"This Is The JSON Data"}]
1, use an ordinary aspx page to process
$.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { $("input#showTime").val(data[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });
Here is the code for passing data in the background
Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();
This processing method directly parses the passed data into json data, which means that the front-end js code here may directly parse these data into json object data , instead of string data, such as data[0].demoData, this json object data is used directly here
2, use webservice (asmx) to process
This processing method is The passed data will not be treated as json object data, but will be processed as a string. The following 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); } });
The following is the asmx method code
public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }
This processing here This method treats the JSON data passed back as a string, and the data needs to be eval-processed so that it can become a real JSON object data.
That is
success:function(data){ eval(data); }
The above is the problem of json data transmitted from Ajax background success introduced by the editor. I hope it will be helpful to everyone! !
Related recommendations:
The difference between success and complete in jQuery.ajax
ajax will never leave success. Only error is taken, the request status code is 200.
javascript - How to output json data in the success callback function in ajax
The above is the detailed content of A brief analysis of the problem of json data transmitted from Ajax background success. For more information, please follow other related articles on the PHP Chinese website!