通過 await? async
三、通過dom獲取標(biāo)簽,觸發(fā)標(biāo)簽的submit方法睬棚,直接提交數(shù)據(jù)到后臺
1萨驶、第一步:首先構(gòu)造需要發(fā)送給后臺的json格式數(shù)據(jù)
2、第二步:使用jquery的ajax艇肴、load腔呜、get、post再悼、getJSON核畴、getScript、getHTML等方法冲九。
七谤草、對于構(gòu)造json格式對象的數(shù)據(jù),有以下幾種方法
傳給后臺的數(shù)據(jù)通過json封裝起來咖刃,再用ajax將json傳到后臺泳炉,ajax是用到Jquery的ajax憾筏,在jsp先加入Jquery的引用
js傳值的方法如下
functiontestAjax(){
varusers=[{name:'張三',age:'21',birth:'1994-12-12'},
{name:'李四',age:'20',birth:'1995-12-11'},
{name:'wangwu',age:'20',birth:'1995-12-11'}];
? ? $.ajax({
type:'POST',
data:JSON.stringify(users),
contentType:'application/json',
dataType:'json',
url:'user/saveJsonUser.do',
success:function(data){
alert("OK");
? ? ? ? },
error:function(e){
alert("error");
? ? ? ? }
? ? });
}
后臺處理:用到springmvc這里參數(shù)中要加上@RequestBody,@RequestBody將HTTP請求正文轉(zhuǎn)換為適合的HttpMessageConverter對象花鹅。
@RequestMapping(value="/saveJsonUser.do",method=RequestMethod.POST)
publicMapsaveJsonUser(@RequestBodyUser[]users){
for(Useru:users){
System.out.println(u.getName()+"? "+u.getAge()+"? "+u.getBirth());
? ? }?
? ? Map result=newHashMap();?
result.put("success","123");
returnresult;
}</code>?
但是如果數(shù)值在傳給后臺之前需要校驗,可以在form中的onsubmit調(diào)用js方法進行校驗,js方法的返回值為true時古拴,觸發(fā)action箩帚,返回false時,action不起作用黄痪。
三紧帕、通過dom獲取標(biāo)簽,觸發(fā)標(biāo)簽的submit方法桅打,直接提交數(shù)據(jù)到后臺
functionquery(){
varinputs =document.getElementsByName("sex");//對象是單選選項
for(vari =0; i < inputs.length; i++) {
if(inputs[i].checked) {//是否選中
? ? ? ? ? ? varsex = inputs[i].value;
document.getElementById("query").action = projectName+"/query.do?currentPage=1&stsex="+ sex;
break;
}else{
document.getElementById("query").action = projectName+"/query.do?currentPage=1";
? ? ? ? }
? ? }
document.getElementById("query").submit();//提交到后臺
}
請求服務(wù)器
用戶名:
密碼:
1鹅搪、第一步:首先構(gòu)造需要發(fā)送給后臺的json格式數(shù)據(jù)
varsendData = {
forgetType:flag,
loginID:recevData.loginID,
contactType:contactType,
countryCode:countryCode,
areaCode:areaCode,
phone:phone,
email:email,
token:recevData.userInfo.token,
purpose:purpose,
};
2、第二步:使用jquery的ajax遭铺、load丽柿、get、post魂挂、getJSON甫题、getScript、getHTML等方法涂召。
$.ajax({
type:"post",
url:"ResetLoginIDorPwd.action",
data:sendData,
success:function(data){
if(isStrEmpty(data.error)){
$("#sendResult").text(sendResult);
? ? ? ? gotoStep3();
}else{
? ? ? ? $.alert(data.error);
? ? ? ? gotoLoginForm();
? ? ? ? }
? ? },
error:function(){
$.alert("<s:text name="err.system"/>");
? ? ? ? gotoLoginForm();
? ? }
});
七幔睬、對于構(gòu)造json格式對象的數(shù)據(jù),有以下幾種方法
1:vardata1 =newObject();
data1.username ="liufu";
data1.userpwd ="abc";
data1.age =22;
2:vardata2 = {
username:"liufu",
userpwd:"abc"
? ? }
data2.age =22;
? data1 和data2里面的數(shù)據(jù)是一樣的芹扭。都可以放在jquery的所有ajax請求功能的方法中的第二個參數(shù)位置麻顶。
注意:在ajax方法的第二個位置的數(shù)據(jù)必須是*json格式的對象*? ,而不能夠用JSON.stringify(data1)轉(zhuǎn)化為String后再放入