小弟不才,不懂js,jquery。到公司实习直接接手一个b/s平台开发。直接代码记录了 方便查询
前端:


1 $.post('/BasicManagement/InsertParts', { parentId: selectNode.tags[0], partName: pNode.PartName, reMark: pNode.Remark }, function (data) 2 { 3 4 console.log(pNode); 5 6 $("#tree").treeview("addNode", [selectNode.nodeId, { node: { pNode } }]); 7 8 }); 9 10 11 }
后台:


public ActionResult InsertParts(string ParentId, string PartName, string Remark) { Hashtable dict = new Hashtable(); dict.Add("ParentId", ParentId); dict.Add("PartName", HttpUtility.UrlDecode(PartName)); dict.Add("Remark", HttpUtility.UrlDecode(Remark)); string fid = OperParts.InsertParts(dict); PartNode childNode = new PartNode(); childNode.text = HttpUtility.UrlDecode(PartName); childNode.tags.Add(fid); //childNode.tags.Add(p.PartPath); childNode.tags.Add(HttpUtility.UrlDecode(Remark)); return Json(childNode, JsonRequestBehavior.AllowGet); }
前端
function(){}
ex:
function()
{
$("#tree").treeview("addNode", [selectNode.nodeId, { node: { pNode } }]);
}
跟
function()
{
}
$("#tree").treeview("addNode", [selectNode.nodeId, { node: { pNode } }]);
写在里外的不同之处在于前端与后端的异步与同步之处。funtcion回调函数内的执行肯定是在它之后的函数执行的时候之前执行的,如果将 $("#tree").treeview("addNode", [selectNode.nodeId, { node: { pNode } }]);写在function函数之后,如果有data的值回调可能还没来得及返回就已经开始执行了。
这个说明的很清楚了如何前端和后端进行沟通了。