在工作項目中用到了兩種jquery ajax 提交數據的方法
一種是:通過普通的url傳值。
function showSelectClass(grade){
var url = "/admin/showSelectClass.htm";
var params = {"tribeId":2,"grade":grade};
$.getJSON(url,params,function (data){
json= eval("("+data.classes+")");
var selectContent = "<select onChange='showClassMember(this.value)'>";
if(json.length>0){
selectContent+="<option value='0'>請選擇--</option>";
$(json).each(function(i){
selectContent+="<option value='"+json[i].tid+"'>"+json[i].tname+"</option>";
});
}else{
selectContent+="<option value='0'>暫時沒有班級</option>"
}
selectContent+="</select>";
$("#selectClass").html(selectContent);
});
}
action的方法:
/**
* 通過部落Id和年級得到班級列表
* @return filterTribeMember.ftl
* @throws Exception
*/
@Action(value="showSelectClass",
results={@Result(name="showSelectClass",type="json")})
public String showSelectClass() throws Exception {
// TODO Auto-generated method stub
List<Map<String,String>> map = new ArrayList<Map<String,String>>();
map = adminService.getClassByTribeIdAndGradeList(tribeId, grade);
JSONArray jsonArray = JSONArray.fromObject(map);
classes = jsonArray.toString();
return "showSelectClass";
}
還有一種就是直接傳from過去:其中data是返回的一個頁面。
function submitAJaxForm(){
var formbean = $("#passValue");
var url = formbean[0].action;
var data = formbean.serialize();
$.ajax({
url : url,
data : data,
type : "post",
success : function(data){
$("#classMember").html(data);
}
});
}
function openPerson(){ var url = "${ctx}/mypage/saveContact.htm"; var data = "userId=${userId}"; if(confirm("確定加該用戶爲常用聯繫人嗎?")){ $.ajax({ url : url, data : data, type : "post", success : function(data){ if(data==1){ $("#addRelation").hide(); alert("添加成功"); }else{ alert("添加失敗"); } } }); } }