首页 > 代码库 > 利用jQuery传送json格式的字符串,后端用ashx文件来接收

利用jQuery传送json格式的字符串,后端用ashx文件来接收

在Default.aspx里面,我们会透过javascript建立两个物件,分别有Name和Age的属性,再透过Array的方式,将这两个物件塞到Array里面去。使用Ajax内建的$.ajax API,我们可以把url,type,data,sucess等几个属性先设定好,其中要注意到当我们想透过json格式来传递资料的时候,我们可以用JSON.stringify()的方法来把想要传送的阵列资料先转换成json格式。

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="json.aspx.cs" Inherits="json" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 <html xmlns="http://www.w3.org/1999/xhtml">
 5 <head runat="server">
 6     <title></title>
 7     <script type="text/ecmascript" src="SiteFiles/menu/js/jquery-1.9.1.min.js"></script>
 8     <script type="text/javascript">
 9 
10         var data={ "MenuID": "02001", "MenuName": "香炸黄花鱼", "MenuPrice": "28.00", "OriginalPrice": "", "MenuUnit": "份", "ClassID": "02", "OrderNum": "1" }
11         $.ajax({
12             type: "post",
13             url: "orderJSON.ashx",
14             datatype: "html",
15             data: data,
16             success: function (data) {
17                 alert(data);
18             }
19         });
20     </script>
21 </head>
22 <body>
23     <form id="form1" runat="server">
24     <div>
25     </div>
26     </form>
27 </body>
28 </html>
<%@ WebHandler Language="C#" Class="orderJSON" %>

using System;
using System.Web;
using System.IO;

public class orderJSON : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string strJSON = string.Empty;
        using (StreamReader reader = new StreamReader(context.Request.InputStream))
        {
            strJSON = reader.ReadToEnd();
        }
        context.Response.Write(strJSON);
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}