.NET中AJAX傳遞JSON數據在後臺獲取
小聲嘀咕:JSON是前後端數據交換的一種格式,無關語言,要傳遞的時候序列化成JSON字符串,接收的時候再反序列化成JSON對象。
直接上代碼吧,沒什麼好介紹。
JS代碼如下:
function Save() {
var jsonObj = [];//要傳遞的數組
var id = 1
var dateset = ["小明","小林"];
var note = {
[1,2,3,4,5],
["甲","乙"]
}
var obj = { id:id, dateset: dateset, note: note };//數組中的對象
jsonObj.push(obj);//將對象放入數組,這裏數組只有一個元素
$.ajax({
type: "post",
url: "/PublicInfoManager/ScheduleMethor/JustForTest",
contentType:'application/json',
data: JSON.stringify(jsonObj),//序列化成JSON字符串
timeout:1000000,
success: function () {
alert("保存成功!");
},
error: function () {
}
})
}
C#代碼如下:
//JustForTestEntity是一個實體類,定義如下:
public class JustForTestEntity:BaseEntity
{
#region 實體成員
public int id;
public string[] dateset;
public NoteEntity note;
#endregion
}
//接收AJAX的函數
[HttpPost]
public ActionResult JustForTest()
{
using(StreamReader sr = new StreamReader(Request.InputStream))
{//Request.InputStream用於訪問原時請求的數據
string stream = sr.ReadToEnd();//從流當前位置讀取到流末尾的所有字符,返回數據字符串
JavaScriptSerializer js = new JavaScriptSerializer();
var list = js.Deserialize<List<JustForTestEntity>>(stream);//反序列化
}
}