在實(shí)際的項(xiàng)目開發(fā)中,經(jīng)常要求前后端傳值。今天,主要介紹前端向后臺傳值的幾種方法。 第一種:ajax 傳給后臺的數(shù)據(jù)通過json封裝起來,再用ajax將json傳到后臺,需要添加jquery庫 window.onload = function(){ //生成json var json = [];//實(shí)際情況中,json對象的值可通過document.getElementByName()來獲取用戶輸入 for (var i = 1; i < 5; i++){ var j = {}; j.name = "name"; j.cars = "22"; j.obj = i; json.push(j); } var a = JSON.stringify(json); alert(a);//json //傳遞到后臺 $.ajax({ type:'POST', data:a,//json contentType = 'application/json', dataType:'json', url:'user/saveJsonUser.do', success:function(data){ alert("發(fā)送成功"); }, error:function(e){ alert("發(fā)送失敗"); } }); } 2、通過form表單的action傳值 一般情況下數(shù)值在傳給后臺之前需要校驗(yàn),可以在form中的onsubmit調(diào)用js方法進(jìn)行校驗(yàn),當(dāng)js方法返回值為true時,觸發(fā)action,當(dāng)js方法返回值為false時,action不觸發(fā)。這樣處理的好處在于當(dāng)用戶輸入不正確時,不會刷新頁面,表單仍然會保留用戶之前的輸入 3、通過dom獲取標(biāo)簽,觸發(fā)標(biāo)簽的submit方法,直接提交數(shù)據(jù)到后臺 function query(){ var inputs = document.getElementsByName("sex");for(var i = 0; i < inputs.length; i++){if(inputs[i].checked){//判斷是否選中var sex = 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(); } 以上! |
|