SpringMVC(五):Ajax傳值與接收值


一、Json包fastjson和Jackson

//TODOhtml

jackson core asl 和 jackson mapper asl的區別,做用java


二、spring mvc接收簡單數據

2.一、接收int等基本類型的數據

jsp頁面ajax

$.ajax({
                url: "${ctx}/StdManage/standardsDelete",
                type: "POST",
                data: "id=1969",
                success:function(data){
                    if(data.success == "true") {
                        alert("return success");
                    }
                }
            });

controller接收數據spring

@RequestMapping("/standardsDelete")
@ResponseBody
public String standardsDelete(@RequestParam Integer id) { //這裏id須要使用Integer類型
    System.out.println("id=" + id);
    return "delete";
}


2.二、接收json

JSON.stringify()將json對象轉換爲json字符串傳遞。json

json對象:{"id":"1", "name": "Roger"}mvc

json字符串:'{"id":"1", "name": "Roger"}'    app

注意:json字符串必須在裏面使用雙引號,外面使用單引號,能夠試試兩種方式傳遞的值的不一樣jsp

使用JSON.stringify()就能夠不考慮json字符串中的'和"問題,若是不使用這個就得注意json字符串的方式,以下:
url

data:'{"id":"1", "name": "Roger"}'        裏面須要使用雙引號spa

$.ajax({
    url: "${ctx}/StdManage/testJson",
    type: "POST",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify({'id':'1','name':'名字','standardEntities':[{'id':'1', 'entityName':'實體'}]}),
    success:function(data){
        if(data.success == "true") {
            alert("return success");
        }
    }
});

controller

@RequestMapping("/testJson")
@ResponseBody
public void testJson(@RequestBody Standard standard) {
    System.out.println(standard.getName());
    System.out.println(standard.getStandardEntities().size());
}


三、Ajax接收SpringMVC的回傳值

ajax

var standard = {"id":1, "entities":"entities", "possibleEntities":"possibleEntities"};
$.ajax({
    url: "${ctx}/StdManage/testJson",
    type: "POST",
    dataType: "json",
    contentType: "application/json",
    data: JSON.stringify(standard),
    success:function(data){
        // 接收List
        alert(data[0]);
        // 接收Map
        // alert(data.success);
    }
});

controller

@RequestMapping("/testJson")
    @ResponseBody
    public List<String> testJson(@RequestBody StandardWithBLOBs standardWithBLOBs) {
        System.out.println("testJson");
        System.out.println(standardWithBLOBs.getId());
//        Map<String, Object> map = new HashMap<>();
//        map.put("success", true);
//        return map;

        List<String> list = new ArrayList<>();
        list.add("hello");
        list.add("word");

        return list;
    }

controller利用@Response回傳一些響應信息,這裏能夠用Map或者List,也能夠用其餘一些JavaBean類型

相關文章
相關標籤/搜索