前端向后端传数据的方法

前端向后端传数据的方法

   1)通过url路径传递参数

复制代码
 1 var id = 5;
 2 boolean flag = false;
 3 
 4 /**重点:ajax只需要type和url属性*/
 5 $.ajax({
 6     async: false,
 7     cache: false,
 8     type: 'POST',
 9     url: 'area/delete/' + flag + '/' + id, //(1)请求的action路径,可以传递参数到后台
10     error: function() {
11         alert('请求失败 ');
12     },
13     success: function(data) {
14         alert(data);
15     }
16 });
复制代码

   2)通过Ajax.data属性

复制代码
 1 var postData = { //(2)传递参数到后台,注意后台接收方式 
 2         "param1": "param1",
 3         "areaId": 2,
 4         "deleteId": 3,
 5         "ids": "254,249,248"
 6         /**重点:ajax的type,url,dataType,data属性*/
 7         $.ajax({
 8             async: false,
 9             cache: false,
10             type: 'POST',
11             url: 'area/delete',
12             dataType: "json",
13             data: postData,
14             error: function() {
15                 alert('请求失败 ');
16             },
17             success: function(data) {
18                 alert(data);
19             }
20 
21         });
复制代码

   3)通过Ajax.data属性传递多个参数

复制代码
 1 //第一步:定义json格式数据
 2 var postData = {
 3     "param1": "param1",
 4     "areaId": 2,
 5     "deleteId": 3
 6 };
 7 /**ajax的type,url,dataType,contentType,data属性*/
 8 $.ajax({
 9     async: false,
10     cache: false,
11     type: 'POST',
12     url: 'area/delete',
13     dataType: "json",
14     contentType: 'application/json', //第二步:定义格式
15     data: JSON.stringify(postData), //第二步;把json转为String传递给后台
16     error: function() {
17         alert('请求失败 ');
18     },
19     success: function(data) {
20         alert(data);
21     }
22 });
复制代码

 后端在接受参数时一般是

req.getParameter()
不过强烈建议用动态遍历
private TreeMap<String, String> getParams(HttpServletRequest request) {
        TreeMap<String, String> map = new TreeMap<String, String>();
        Map reqMap = request.getParameterMap();
        for (Object key : reqMap.keySet()) {
            String value = ((String[]) reqMap.get(key))[0];
            System.out.println(key + ";" + value);
            map.put(key.toString(), value);
        }
        return map;
    }

然后直接用即可

TreeMap<String, String> params = getParams(request);

再对params进行操作

比如作为参数进行验证

boolean isSign = SybUtil.validSign(params, SybConstants.SYB_APPKEY);// 接受到推送通知,首先验签
public static boolean validSign(TreeMap<String,String> param,String appkey) throws Exception{
         if(param!=null&&!param.isEmpty()){
             if(!param.containsKey("sign"))
                    return false;
             String sign = param.get("sign").toString();
             String mysign = sign(param, appkey);
             return sign.toLowerCase().equals(mysign.toLowerCase());
         }
         return false;
     }
原文地址:https://www.cnblogs.com/yangj-Blog/p/13099520.html