欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用JavaScript实现POST请求后页面跳转

最编程 2024-08-08 10:55:00
...

在项目中遇得使用get请求页面是,url有字节大小的限制,无奈只能采用post的方式进行参数的传值并跳转页面。

实现思路:

使用form表单进行提高,并在后台处理一下参数,进行下一个页面的跳转。

/*
*功能: 模拟form表单的提交
*参数: url 跳转地址 params 参数 
 */
 function Post(url, params) {
     var form = $("<form method='post'></form>");
     form.attr({"action":url});
     for (pa in params) {
         var input = $("<input type='hidden'>");
         input.attr({"name":pa});
         input.val(params[pa]);
         form.append(input);
     }
     $("html").append(form);
      form.submit();
 }

//参数赋值:
var url = "${basePath}xueshengxx.queryList.do";//跳转后台的写法
var url = "${basePath}xueshengxx/queryList.jsp";//不跳转后台,直接跳转页面
var params = {name:name,xingbie:xingbei};

//调用post请求
Post(url,params);


//java 后台代码
@RequestMapping(value = "tamsbbzb.dwsb.sfxyList.do", method = RequestMethod.POST)
public String gotosfxyList(HttpServletRequest request) throws JSONException {
	HttpSession session = request.getSession();
    Map<String,String[]> map= request.getParameterMap();
    Map<String,Object> parameterMap = new HashMap<String,Object>();
	for(String str:map.keySet()){
		parameterMap.put(str.toLowerCase(), map.get(str)[0].trim());
	}
	request.setAttribute("params", parameterMap );
	return "forward:index/xwzx.jsp";
}

//下一个页面,进行取值(对应post方法调转后台,把值存到request中的写法)
var post_name = '${datas.name}';
var post_xingbie = '${datas.xingbie}';
//下一个页面,进行取值(对应post方法直接跳转下一个页面,值存到request中的写法)
var post_name = '<%=request.getParameter("name")%>';
var post_xingbie = '<%=request.getParameter("xingbie")%>';

这是自己开发中遇到的问题,可以给大家提供下参考

推荐阅读