方式一:使用 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按鈕) }