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

时间:2023-03-08 20:33:16

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

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="json.aspx.cs" Inherits="json" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/ecmascript" src="SiteFiles/menu/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript"> var data='{ "MenuID": "02001", "MenuName": "香炸黄花鱼", "MenuPrice": "28.00", "OriginalPrice": "", "MenuUnit": "份", "ClassID": "02", "OrderNum": "1" }'
$.ajax({
type: "post",
url: "orderJSON.ashx",
datatype: "html",
data: data,
success: function (data) {
alert(data);
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</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;
}
} }