Ajax请求与controller

使用ajax请求controller

前端js

$.ajax({
    url: "/test1",
    data: {"first": "1111",
        "second":"2222"
    },
    type: "POST",
    dataType: "json",
    success: function(msg) {
        var dataJson = JSON.stringify(msg)
       var json1=JSON.parse(dataJson);
    var head=json1.head;
        if(msg!=null)
            alert(head);
    },});

url:后端映射地址

type:交换数据类型

success:请求成功的回调函数

后端controller

@Controller
public class TestAjax {
    @PostMapping("test1")
    @ResponseBody
    String Test1(@RequestParam(value = "first", required = false)String msg1,
                 @RequestParam(value = "second", required = false)String msg2){
        System.out.println(msg1);
        System.out.println(msg2);
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("head","success");
        return JSONObject.toJSONString(jsonObject);
    }
}/*结果输出1111
          2222*/

添加注解 @ResponseBody返回数据给当前页面而不是跳转

@RequestParam(value = “first”, required = false)注解用于获取ajax中data内的参数,其中value为data中键值对(key,value)中的value的

注意要点

后端返回为字符串

如下

String xxx(){
    XXX;
return JSONObject.toJSONString(jsonObject);}//jsonObject为json对象

前端接收数据为

success: function(msg) {//msg为直接可以使用的json对象,不需要进行转换。。。猜测可能是ajax中确定了
var head=msg.head;      //数据格式为json所有不需要再次转换(再次转换反而会出错)
    if(msg!=null)
        alert(head);
}

前端处理json方法

var dataJson = JSON.stringify(xxx);//该方法作用为将json对象转换为json字符串
var json1=JSON.parse(xxx);//该方法作用为将json字符串转换为json对象
//两个方法效果相反
上一篇:PhysX3.4文档(16) --Character Controllers


下一篇:odoo开发教程十七:controller