zoukankan      html  css  js  c++  java
  • Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法

    var xmlHttp; //定义变量,用来创建xmlHttp对象
    function ajaxfunction(url,onreadystatechangMethod,param){ // 创建xmlHttp,ajax开始
        if(window.XMLHttpRequest){//非IE浏览器及IE7(7.0及以上版本),用xmlHttp对象创建
            xmlHttp=new XMLHttpRequest();
        }else if(window.ActiveXObject){ //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
            xmlHttp=new ActiveXObject("Microsoft.XMLHttp");
        }
         
        if(xmlHttp){//成功创建xmlHttp
            param=encodeURI(param);  //URL编辑,解决乱码问题
            param=encodeURI(param);
            xmlHttp.open("post",url,false); //与服务端建立连接(请求方式post或get,地址,true表示异步)
            xmlHttp.onreadystatechange = onreadystatechangMethod; //指定回调函数
            xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");//post提交设置项
            xmlHttp.send(param); //发送请求  
        }
    }

     SpringMVC中的@RequestMapping修饰的方法在正常情况下虽然可以直接在参数列表中声明参数,但如果在Ajax的Post方式提交时是不会取到值的,所以要用最原始的方法获取参数,
     如果参数中有大量数据,最好用new String接收

    @RequestMapping(value = "/page/video/videoReply.do")
        public String videoReply(HttpServletRequest request,
                HttpServletResponse response) {
      String strId = request.getParameter("strId");
      String content = new String(request.getParameter("content"));
        try {
                content = java.net.URLDecoder.decode(content, "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
     return null;
    }
  • 相关阅读:
    jqgrid自带多选与单选
    NPOI读写Excel【转载】
    C# 對 List<string> 取交集、補集、超集、串聯
    在前端解決顯示null值一例
    Linux netstat命令详解和使用例子(显示各种网络相关信息)
    Git 忽略規則及 .gitignore 規則不生效的辦法
    树莓派上传数据错误一例
    搭建本地SVN資料
    利用樹霉派採集溫濕度上傳到OneNET(非完整,僅參考)
    部署ASP.Net Core 2.1 項目到 IIS
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4914163.html
Copyright © 2011-2022 走看看