在实际的项目开发中,经常要求前后端传值。今天,主要介绍前端向后台传值的几种方法。
第一种:ajax
传给后台的数据通过json封装起来,再用ajax将json传到后台,需要添加jquery库
- window.onload = function(){
- //生成json
- var json = [];
- //实际情况中,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("发送成功");
- },
- error:function(e){
- alert("发送失败");
- }
- });
- }
2、通过form表单的action传值
一般情况下数值在传给后台之前需要校验,可以在form中的onsubmit调用js方法进行校验,当js方法返回值为true时,触发action,当js方法返回值为false时,action不触发。这样处理的好处在于当用户输入不正确时,不会刷新页面,表单仍然会保留用户之前的输入
3、通过dom获取标签,触发标签的submit方法,直接提交数据到后台
- 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();
- }
转载自: https://blog.csdn.net/henouren/article/details/78282406