天天看點

Restful風格的springMVC配搭ajax請求的小例子

1. GET請求的例子

ajax代碼:

請求參數拼接在url後面(參數在伺服器可通過HttpServletRequest擷取,也可以直接通過@RequestParam自動注入,參考DELETE例子的方法)

var url = '/condition';
    var params = '?id=1001';
    
    $.ajax({
        type : 'GET',
        dataType : 'json',
        url : url+params,
        success : function (response) {
            // .....
        },
        error : function (){
            // .....
        }
    });      

java代碼:

@RequestMapping(value = "/condition", method = RequestMethod.GET)
    public @ResponseBody RequestResult getCondition(HttpServletRequest request) {
        // 根據id擷取資料
     int id= request.getParameter("id");
     // .... 根據id擷取要傳回的資料data
     RequestResult result = new RequestResult();
        result.setCode(0);
        result.setMessage("success");
     result.setData(data);
        return result;
    }      
2. DELETE請求的例子

Ajax代碼:

請求參數拼接在url後面(參數在伺服器以直接通過@RequestParam自動注入,也可通過HttpServletRequest擷取,參考GET例子的方法)

var url = '/condition';
    var params = '?ids=1001,1002';
    
    $.ajax({
        type : 'DELETE',
        dataType : 'json',
        url : url+params,
        success : function (response) {
            // .....
        },
        error : function (){
            // .....
        }
    });      

java代碼:

@RequestMapping(value = "/condition", method = RequestMethod.DELETE)
    public @ResponseBody RequestResult delCondition(@RequestParam(value = "ids", defaultValue = "") String ids) {
        System.out.println("ids:" + ids);
        // 根據ids删除資料
        RequestResult result = new RequestResult();
        result.setCode(0);
        result.setMessage("success");
        return result;
    }      
3. POST請求的例子

 Ajax代碼:

新增,傳遞一個json對象,與GET和DELETE的傳參方式不同

rowData:要傳遞的json對象,是表格一行的資料。

$.ajax({
                type : 'POST',
                url : url,
                dataType : 'json',
                contentType : 'application/json',
                data : JSON.stringify(rowData),
                beforeSend : function () {
                    // .....
                },
                success : function (data) {
            // .....
                },
                error : function (){
                    // .....
                }
            });      

java代碼:

@RequestMapping(value = "/condition", method = RequestMethod.POST)
    public @ResponseBody RequestResult addCondition(@RequestBody Condition condition) {
        System.out.println("name:" + condition.toString());
        // 根據condition對象進行添加操作
        RequestResult result = new RequestResult();
        result.setCode(0);
        result.setMessage("success");
        return result;
    }      
4. PUT請求的例子

 Ajax代碼:

修改,傳遞一個json對象,與GET和DELETE的傳參方式不同

rowData:要傳遞的json對象,是表格一行的資料。

$.ajax({
                type : 'PUT',
                url : url,
                dataType : 'json',
                contentType : 'application/json',
                data : JSON.stringify(rowData),
                beforeSend : function () {
                    // .....
                },
                success : function (data) {             // ..... }, error : function (){ // ..... } });      

java代碼:

@RequestMapping(value = "/condition", method = RequestMethod.PUT)
    public @ResponseBody RequestResult addCondition(@RequestBody Condition condition) {
        System.out.println("name:" + condition.toString());
        // 根據condition對象進行修改操作
        RequestResult result = new RequestResult();
        result.setCode(0); result.setMessage("success"); return result; }      

轉載于:https://www.cnblogs.com/zj0208/p/6000774.html