ajax 使用中问题汇总

来源:互联网 发布:免费图纸打印软件 编辑:程序博客网 时间:2024/06/05 16:50

POST--JSON请求例子

controll层:

@ResponseBody
public Map TEST(@RequestBody Map reqMap){

}


$.ajax({
    type: 'post',
    url: "xxx",
    contentType:"application/json",
    async:false,
    data:JSON.stringify({"name":"123"}),
    dataType:"JSON",   //返回的数据转成json对象,也就是不需要我们parse了
    success: function(data){
        alert(data.name);
    },
    error: function(xhr, type){
        alert('数据加载失败');
    }
});


1. 415 (Unsupported Media Type 

增加:  contentType:"application/json"  标示请求的是json格式


2. 400 (Bad Request)

改成:  data:JSON.stringify({"name":"123"})



GET--json返回

$.ajax({
   type: 'GET',
   url: "sss",
   async:false,
   data:"name=123",  或者:

data:{

"name":"123"

}
   dataType:"JSON",
   success: function(data){
       alert(data.name);
   },
   error: function(xhr, type){
       alert('数据加载失败');
   }
});

最后的效果 http://localhost/xxx?name=123

controll:

public TEST(@RequestParam(value="name") String name){}



事实上:

通过httpServletRequest.getParameter("name") 获取  和 @RequestParam(value="name")  获取 请求的参数,method的方式:GET或者post 都是可以的

注意data的格式:data: “name=123&age=12”  或者 data:{"name“:”12“,”age“:”12“}  。

请不要加上  contentType:"application/json" 。这个表示请求的参数是json格式


通过@RequestBody Map reqMap 表示请求的是json格式,所以要加上contentType:"application/json"。其次传入json格式的数据:data:JSON.stringify({"name":"123"})





415 (Unsupported Media Type

415 (Unsupported Media Type

0 0