標籤:style blog http color os io 資料 art
問題: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); } }