天天看點

前端ajax異步傳值以及後端接收參數的幾種方式

前台往背景傳值呢,有很多種方式,大家聽我細細道來。

第一種呢,也是最簡單的一種,通過get送出方式,将參數在連結中以問号的形式進行傳遞。

// 前台傳值方法    
// 觸發該方法調用ajax
    function testAjax(yourData) {
        $.ajax({
            type: "get", // 以get方式發起請求
            url: "/yourUrl?yourDataName=" + yourData, // 将你的請求參數以問号拼接到url中進行參數傳遞
            success(data) {
                // data為傳回值
                // 成功後的回調方法
            }
        })
    }      
// 背景接值方法
    @RequestMapping("/yourUrl")
    @ResponseBody
// @RequestParam("yourData")是必不可少的,因為他指定了連結中的參數名稱
    public String yourUrl(@RequestParam("yourData") String yourData) {
        System.out.println(yourData);
        // 傳回值可以自由定義
        return "SUCCESS";
    }      

第二種呢,是将參數展現到連結中,在背景通過占位進行傳遞。

// 前台傳值方法,其實大體與上方相同隻需注意url即可
// 觸發該方法調用ajax
    function testAjax(yourData) {
        $.ajax({
            type: "get", // 以get方式發起請求
            url: "/yourUrl/"+yourData, // 将你的請求參數拼接到url中進行參數傳遞
            success(data) {
                // data為傳回值
                // 成功後的回調方法
            }
        })
    }      
// 背景接值方法
    @RequestMapping("/yourUrl/{yourDataName}")
    @ResponseBody
 // 同樣@PathVariable("yourDataName")必不可少,因為他指定連結中某個位置代表着名為yourDataName的變量
    public String yourUrl(@PathVariable("yourDataName") String yourData) {
        System.out.println(yourData);
        // 傳回值可以自由定義
        return "SUCCESS";
    }      

第三種呢,通過post送出方式将form表單中的資料序列化後傳遞到背景。

// 前台傳值方法
function testAjax() {
       $.ajax({
           type: "post", // 以post方式發起請求
           url: "/yourUrl", // 你的請求連結
           data:$("#myForm").serialize(), // 對id為myForm的表單資料進行序列化并傳遞到背景
           success(data) {
               // data為傳回值
               // 成功後的回調方法
           }
       })
   }      
// 背景接值方法
@RequestMapping("/yourUrl")
 @ResponseBody
// 在這裡我假設大家表單資料與User實體類相對應
 public String yourUrl(User user) {
     System.out.println(user.toString());
     return "SUCCESS";
 }      

第四種呢,就是Ajax異步傳值最常見 的在ajax方法體中使用data進行傳值。

// 前台傳值方法
 function testAjax() {
        $.ajax({
            type: "post", // 以post方式發起請求
            url: "/yourUrl", // 你的請求連結
            data: { // 送出資料
                "username": "admin", // 前者為字段名,後者為資料
                "password": "admin"
            },
            success(data) {
                // data為傳回值
                // 成功後的回調方法
            }
        })
    }      
// 背景接值方法
@RequestMapping("/yourUrl")
   @ResponseBody
// 在這裡我假設大家表單資料與User實體類相對應
   public String yourUrl(@RequestParam("username") String username, @RequestParam("password") String password) {
       System.out.println("username="+username+";password="+password);
       return "SUCCESS";
   }      

原文摘自:https://www.cnblogs.com/smfx1314/p/10205736.html