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

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

前台代码:

HTML:
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)获取所在内所有标签的name和value值,并一一对应的存储到 formdate内(如  userName:李四)。注意:通过serialize()方法获取的数据类型是 FormDate。

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

C#后台代码:

string formInfor = CheckResponse.GetResponse("formdata");
string[] formArray=formInfor.Split('=', '&'); 
Dictionary eqpInfor = new Dictionary();
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);
}

 

AJAX 提交form表单,以及使用C#后台接收_第1张图片

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

 

你可能感兴趣的:(C#)