AJAX 提交form表单,以及使用C#后台接收

今天不扯别的,直接进入正题。

前台代码:

HTML:
<form id="addform" action="#">
    <input type="text" name="userName" value="李四">
    <input type="text" name="age">
    <input type="text" name="sex">
    <input type="text" name="phone">
<form>

JS:
$.ajax({
    url: "../../../ashx/APP/App_sysMenu.ashx",
    data: {
        formdata: $('#addform').serialize(),
        operate: "addStuInfoe"
    },
    type: "post",
    success: function (data) {
    console.log(data);
    if (data == "true") {
        alert("增加成功");
    }
    else{
        alert("增加失败");
    }

});

$('#addform').serialize():通过“addform”(Id)获取所在<form>内所有<input>标签的name和value值,并一一对应的存储到 formdate内(如  userName:李四)。注意:通过serialize()方法获取的数据类型是 FormDate。

估计会有人要问了,用<form>传值有什么好处?当你在向后台提交大量数据时,可以通过serialize()方法将<form>内的所有<input>标签内的数据存储到formdate内,并将其传递到后台。

C#后台代码:

string formInfor = CheckResponse.GetResponse("formdata");
string[] formArray=formInfor.Split('=', '&'); 
Dictionary<string, object> eqpInfor = new Dictionary<string, object>();
for (int i = 0; i < formArray.Length-1; i = i + 2)
{
    string nvalue= System.Web.HttpUtility.UrlDecode(formArray[i + 1]);
    eqpInfor.Add(formArray[i], nvalue);
}

 

通过上面的截图大家能看出,C#后台获得数据的格式:ID=&equipnum=2222,这就需要对字符串进行分割,并对应存入Dictionary内;同时汉字被"URL编码"了,那么这就需要System.Web.HttpUtility.UrlDecode()方法对汉字进行解码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值