当前位置:   article > 正文

$.ajax 传到后台的参数获取不到_ajax请求写data传参里不可以获取值,只有写+里才行

ajax请求写data传参里不可以获取值,只有写+里才行

使用ajax传参数,发现后台获取不到数据


value2={'key21':'value21','key22':'value22'};
post_data = {'key1':'value1','key2':value2};
$("#funDiv1").bind("click",function(){
    $.ajax({
        type : 'post',
        url : 'ajaxTest.do',
        data : post_data,
        dataType : 'text',//若为json,无法接受字符传返回值
        success : function(data){
            alert("success");
            console.log(data);
        }
    });
});

key1可以获取到值,key2为空,原因是key2为json对象,后台无法解析,

后台springMVC


@ResponseBody
@RequestMapping(value="/ajaxTest.do",produces="application/json;charset=utf-8",method={RequestMethod.POST,RequestMethod.GET})
   public String test2(HttpServletRequest request,String key1,String key2){
    System.out.println(key1);
     System.out.println(key2);
     return "test2_result";    
   }


解决方法:

    前端把json对象转为字符串,后台再解析

JSON.stringify(value2)

后台解析,需要导包,


@ResponseBody
   @RequestMapping(value="/ajaxTest.do",produces="application/json;charset=utf-8",method={RequestMethod.POST,RequestMethod.GET})
public String test2(HttpServletRequest request,String key1,String key2){
    System.out.println("test2");
    System.out.println(key1);
    System.out.println(key2);
    try{
        Map map = JSONObject.fromObject(key2);
        System.out.println(map.get("key21"));
    }catch(Exception e){
        e.printStackTrace();
    }
    return "test2_result";
}


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/814405
推荐阅读
相关标签
  

闽ICP备14008679号