問題:ashx 返回的字符串json格式,在前臺ajax自動解析失敗。
問題分析:經過排查,發現是拼接json時出現” ’ “單引號,jquery無法解析,用” “ “雙引號才可以。例如:
string strjson="[ { 'userName':'test'}]"; //單引號導致jquery無法自動解析。string strjson="[ {/"userName/":/"test/"}]"; // 雙引號可以解析;
ajax 代碼:
$.ajax({ type: 'post', url: 'Report.ashx?type=1', dataType: 'json', async: 'true', //異步 cache: 'false', success: function(data) { mychartOptions.series = data; var chart = $("#report1").highcharts(mychartOptions); }, error: function(xmlHttPRequest, textStatus, errorThrown) { $("#report1").html("<span>獲取數據失敗" + textStatus + "</span>"); } });
后臺ashx代碼:
public void ProcessRequest(HttpContext context) { string type = context.Request["type"]; if (type == "1") { // 三種設置測試都通過,不設置contenType也可以 "application/json" "text/plain" "text/json" //context.Response.ContentType = "text/json"; string json = "[{/"userid/":123}]"; context.Response.Write(json); } else if (type == "2") { GetReport2(context); } }
新聞熱點
疑難解答