js提交map类型参数

Posted Himalayas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js提交map类型参数相关的知识,希望对你有一定的参考价值。

方式一:使用 xmlHttpRequest 对象发送数据

function sendMapPost(map, url){
    var xmlHttpRequest = createXMLHttpRequest();//创建请求对象
    
    var params = "";
    for(var entry of map){
        if(entry[0]!=null){
            params += entry[0] + "=" + entry[1] + "&";
        }
    }
    if(params.length>0){//如果params不为空字符串,去除最后一个 连接符  &
        params.substr(0, params.length-1);
    }
    
    xmlHttpRequest.open("post", url, true);//true表示异步请求
    xmlHttpRequest.setRequestHeader("cache-control","no-cache");
    xmlHttpRequest.setRequestHeader("contentType","text/html;charset=uft-8") //指定发送的编码
    xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");  //设置请求头信息
    xmlHttpRequest.send(params);//发送数据
}

 

方式二:使用虚拟form表单的方式

function sendForm(param_map, url, method){
    var form = document.createElement("form");
    form.setAttribute("action", url);
    form.setAttribute("method", method);
    form.style.display = "none";
    
    //追加参数
    for(var entry of trolley){
        var param_input = document.createElement("input");
        param_input.setAttribute("type", "text");
        
        param_input.setAttribute("name", entry[0]);
        param_input.setAttribute("value", entry[1]);
        
        form.appendChild(param_input);
    }
    
    //body追加form表单
    document.body.appendChild(form);
    
    form.submit();//提交(注意,这里的提交调用者是form表单,不是submit按钮)
}

 

以上是关于js提交map类型参数的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis Map<>接收参数导致类型转换错误

怎样将从Action中拿出来的map作为参数传给一个参数为map的js函数呢?

js 方法穿参数(只传参数,不执行它的提交操作)

在代码片段中包含类型转换

在 CouchApp 视图中将参数传递给 map.js

vscode代码片段建议bug