利用js傳一個物件到後臺
阿新 • • 發佈:2019-02-13
利用JS物件把值傳到後臺
記得以前剛寫asp.net 從前臺往後臺傳值 都是var data=A,B,C,D,E; 迴圈新增用逗號隔開 後臺還要被測試測出只輸入,就錯了 哈哈。。後來用✈◆類似的符號隔開 不是長久之計。。。
現在用了MVC,表單新增,在每個input上寫上相對應Model的Name,傳到後臺直接model點屬性就行了。
但是還是會碰到提交不是表單,類似提交考試答案,課後評估,一大串字串。看到JS物件眼前一亮!!!上程式碼
Html:
<ul>
<li class='id'>1</li>
<li class='name' >A</li>
</ul>
<ul>
<li class='id'>2</li>
<li class='name'>B</li>
</ul>
如果換成以前我肯定會寫成1,A.2,B傳到後臺。。。現在不一樣了
var OrgArray={};//首先宣告一個全域性陣列
$(ul).each(function(){
var Organ={
id=$(this).children(li:eq(0)).html(),
name=$(this).children(li:eq(1 )).html()
}
OrgArray.push(Organ); //等於list集合
})
$.post("url",{OrgArray: JSON.stringify(OrgArray)//轉換成字串}, function(data){})
//如果傳的字串層級很多的話 還可以多套幾個var arry={};
後臺
var OrgArray = Request.Form["OrgArray"];
dynamic OrgList = Newtonsoft.Json.JsonConvert.DeserializeObject(OrgArray);
for (int i = 0 ; i < OrgList.Count; i++)
{
id=OrgList[i].id;
name=OrgList[i].name;
//新增
}