使用ajax訪問服務器返回多條數據,比如返回一個表中的所有數據,頁面該如何處理呢?如何獲取數據呢?一直不會用ajax返回json格式,今天研究了下,分享給大家~
首先需要引用服務,點擊項目右鍵,添加引用
創建一般處理程序 CityHandler_json.ashx,添加引用using Newtonsoft.Json;

<%@ WebHandler Language="C#" Class="CityHandler_json" %> using System; using System.Web; using Newtonsoft.Json;//添加引用 public class CityHandler_json : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string sql = "select * from city "; System.Data.DataTable dt = SqlHelper.ExecuteTable(sql); if (dt != null && dt.Rows.Count > 0) { string Json = JsonConvert.SerializeObject(dt);//序列化為json格式 context.Response.Write(Json); } context.Response.End(); } public bool IsReusable { get { return false; } } }
前台獲取

<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $.ajax({ type: "post", url: "CityHandler_json.ashx", success: function (data) { // alert(data); var json = eval(data);//數組 $.each(json, function (index, item) { //循環獲取數據 var name = json[index].jc; var id = json[index].cityID; $("#cityInfo").html($("#cityInfo").html() + "<tr><td>" + name + "</td><td>" + id + "</td></tr>"); }); } }); }); </script>
html頁面

<body> <form id="form1" runat="server"> <div id="text"> <table border="1px;" id="cityInfo"> </table> </div> </form> </body>