Ajax 异步


 
ContractedBlock.gif ExpandedBlockStart.gif View Code
 1 //异步调用controller的方法进行评价操作
2 function DelOrCreate(userId, value)
3 {
4
5 var result = jQuery.ajax({
6 url: " /aaa/bbb/Save.aspx",
7 type: 'GET',
8 async: false,
9 data: { userId: userId, value: $("#username").val() },
10 success: function (data)
11 {
12
13 if (data != "保存成功")//只提示错误消息,保存成功不提示。
14 {
15 alert(data);
16 return data;
17 }
18
19 }
20
21 });
22 return result.responseText//此行数的返回值,如果需要此返回值进行其他操作,则写上,否则可以不写。
23 }

根据返回值,如果满足条件,进行其他操作,否则 return flase;

ContractedBlock.gif ExpandedBlockStart.gif View Code
1         var result = DelOrCreate(userid, i value);
2
3 if (result != "保存成功")
4 {
5 return false;
6 }
7
8 ///// 此处进行其他操作//////

使用 ajax 后台返回值使用 :response.write();返回。

有时候使用json 序列化对象 进行传递到view层:

ContractedBlock.gif ExpandedBlockStart.gif View Code
 1 System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();
2
3 string str = json.Serialize(punishment);
4 Response.Write(str); // 返回到view
5
6 //view 层
7 var objstr = jQuery.parseJSON(result.responseText); //序列成jon 对象
8
9 jQuery("#Id").val(objstr .Id);
10 //时间字段,被序列化成毫秒,所有需要转换成正常时间
11 var dd;
12 if (objstr .PunishmentDate != null || objstr .PunishmentDate != "") {
13 var date = objstr .PunishmentDate;
14 date = date.replace("/", "");
15 date = "new " + date.replace("/", "");
16
17 var d = eval(date);
18 var m = parseInt(d.getMonth()) + 1;
19 dd = d.getFullYear() + "-" + m + "-" + d.getDate();
20 if (dd == "1900-1-1") {
21 dd = "";
22 }
23 };
24 jQuery("#punishmentDate").val(dd);



你可能感兴趣的:(Ajax 异步)