在JS中获取页面提交参数

JSP和JS

    在看到这篇博客的题目时,首先你应该想到的不是题目中所描述的问题,而是应该在脑海中回忆一下,JSP和JS文件的区别,别的不用说,但从能支持的书写格式来说就好了。
    来简单的区分一下这两种文件中代码的格式:
        1、JSP:java语言和JS,HTML的结合,也就是说在JSP页面中我们既可以写Java代码,也可以写HTML和JS的代码。二者不会冲突。
        2、JS:这个就不一样了。在单纯的JS中是不允许有JAVA的代码出现的。
    就拿今天博客题目中的例子来说吧。

参数获取方式区别

JSP:
这里写图片描述

    在JSP中,我们获取页面之间传回来的url且带参数时,可以直接通过request.getParameter来获取。不仅在html页面中可以,
    也可以在jsp页面中所包含的js中也是可以支持的。这个只要亲自做过前台页面的人相比一定有所体会。

JS:

    但在JS页面中就不一样了,如果你在一个新建的JS页面中也向上述的那般写法,想必会让你失望了。。。但在语法方面,js就是不能识别的。所以如果,你想获取参数值,就不得不另外高招儿了!

    由于在项目中用到了这个,所以,自个儿倒是也想了一个方法来解决这个问题。也许会有不太完善的地方。如果大家发现了,还请指教。共同交流:
//为获取参数单独封装的一个JS方法
function getParam(param){
    //获取传过来的url地址
    var url = window.document.location.href.toString();
    var u = url.split("?");
    var paramValue;
    if(typeof(u[1]=="string")){
        j = u[1].split("&"); //用&符号将字符串分离
        //alert(j[0])
        for(var i=0;i<j.length;i++){
            var array=j[i].split("="); //用=分割
            if(array[0]==param){
                paramValue=array[1];
                break;
            }
        }
        return paramValue; //返回参数值
    }

}

调用方法:

function submitRember(mode){
    var paramMap
    if((mode !=null || mode !="") && mode==26){ //此条件为项目中用到,与获取参数无关
        paramMap=getParam("selectResulMap");
        return paramMap;
    }
    return null;
}
    以上就是这篇博客介绍的核心了,在单纯的JS文件中获取url中所带的参数。其实就是一个JS中的数组分割。然后,截取想要的字符串信息。
如果POST请求提交参数JSON格式,可以通过以下步骤在Java Servlet获取: 1. 在Servlet的doPost方法,通过HttpServletRequest对象获取POST请求JSON格式参数,并将参数转化为Java对象,示例代码如下: ``` protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取POST请求JSON格式参数 BufferedReader reader = request.getReader(); StringBuilder sb = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { sb.append(line); } String jsonString = sb.toString(); // 将参数转化为Java对象 ObjectMapper objectMapper = new ObjectMapper(); MyParam myParam = objectMapper.readValue(jsonString, MyParam.class); // ... } ``` 在上面的示例,通过request.getReader()方法获取POST请求的字符流,然后将字符流转化为JSON格式字符串。接着,使用Jackson库的ObjectMapper类将JSON格式字符串转化为Java对象。 2. 在前端页面,使用Ajax向Servlet提交POST请求,并传递JSON格式参数,示例代码如下: ``` var myParam = { "param1": "value1", "param2": "value2" }; $.ajax({ type: "POST", url: "/servlet/MyServlet", contentType: "application/json", data: JSON.stringify(myParam), success: function(data) { // ... } }); ``` 在上面的示例,通过contentType属性指定请求数据类型为JSON格式,使用JSON.stringify方法将JavaScript对象转化为JSON格式字符串,然后将JSON格式字符串作为请求参数传递给Servlet。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值