前言
其实这是前端的知识,当我们从数据库里获得了参数信息,查看详情的时候,需要跳转到另一个页面,或者弹出另一个页面,这个时候,不需要再从数据库里查询一次参数,只需要把已经查询到的参数传给另一个页面即可。
方法有很多,常见的有,GET,POST这两种,同样也可以使用JS的函数传递参数。
GET
例如当我设置一个URL为 localhost:8080/pssmsys/userinfoadmin/getuserinfolist?a=1&b=2 ,意思是访问 getuserinforlist 页面的时候,通过地址栏传递了两个参数,一个 a 和一个 b。那么如何获得该参数呢?
js
function getQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) {return decodeURIComponent(r[2]);}return '';}
POST
通常我使用POST都是通过 ajax 实现的,而且都是向接口传数据的时候才用。
$.ajax({url : updateGoodsUrl,type : 'POST',data : formData,contentType : false,processData : false,cache : false,success : function(data) {if(data.success){alert('修改成功!');self.location='/pssmsys/goods/list';}}});
JS 函数传参
我在项目当中使用这种方式,通常都是在操作删除操作,这样调用接口后,只需要刷新页面或者跳转页面即可,而不是打开一个新的页面。
stockObj.map(function(item,data){var ifStaus='未完成';var isFis=item.isFinished;var opAHTML='<button onclick="finishIntoStockByid('+item.id+','+item.goodsId+')" type="button" data-toggle="modal" class="btn btn-sm btn-warning">完成</button> <button type="button" data-toggle="modal" data-target="#myModal2" onclick="deleteIntoStockByid('+item.id+')" class="btn btn-sm btn-danger">删除</button>';if(isFis==0){ifStaus='未完成';}else if(isFis==1){ifStaus='已出货';opAHTML='';}viewHTML1=viewHTML1+'<tr><th scope="row">'+uid+'</th>'+'<td>'+item.uniqueId+'</td>'+'<td>'+item.goddsNameString+'</td>'+'<td>'+item.outofStockPrice+'</td>'+'<td>'+item.outofStockNumber+'</td>'+'<td>'+item.supplierName+'</td>'+'<td>'+ifStaus+'</td>'+'<td>'+opAHTML+'</td>'+'</tr>';uid++;});
例如上面的代码里 finishIntoStockByid 这个就是一个方法,方法结构如下:
function finishIntoStockByid(id,goodsId){$.ajaxSetup({async:false});$.getJSON('/pssmsys/outstockadmin/finishoutstockbyid?id='+id+'&goodsId='+goodsId,function(item,data){ });self.location='/pssmsys/stock/outputindex';
}