Home  >  Article  >  Web Front-end  >  A brief analysis of the problem of json data transmitted from Ajax background success

A brief analysis of the problem of json data transmitted from Ajax background success

韦小宝
韦小宝Original
2018-05-14 15:04:401795browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn