在HTML中,a標(biāo)簽的提交默認(rèn)是get方式提交的,如果在請求鏈接的參數(shù)中帶有中文就會(huì)出現(xiàn)亂碼問題,除了在后臺(tái)程序中轉(zhuǎn)碼外,這里介紹兩種簡單的方法,可以在客戶端讓a標(biāo)簽以post方式提交。
一:增加一個(gè)form表單
- <span style="font-family:SimSun;font-size:18px;"><body>
- <a href="javascript:doPost("addStudent.action", {"name":"張三"})">提交</a>
-
- <script>
- function doPost(to, p) { // to:提交動(dòng)作(action),p:參數(shù)
- var myForm = document.createElement("form");
- myForm.method = "post";
- myForm.action = to;
- for (var i in p){
- var myInput = document.createElement("input");
- myInput.setAttribute("name", i); // 為input對象設(shè)置name
- myInput.setAttribute("value", p[i]); // 為input對象設(shè)置value
- myForm.appendChild(myInput);
- }
- document.body.appendChild(myForm);
- myForm.submit();
- document.body.removeChild(myForm); // 提交后移除創(chuàng)建的form
- }
- </script>
- </body></span>
二:使用Ajax
- <span style="font-family:SimSun;font-size:18px;"><body>
- <a href="addStudent.action" class="a_post">提交</a>
-
- <script>
- $(".a_post").on("click",function(event){
- event.preventDefault(); // 使a自帶的方法失效,即無法向addStudent.action發(fā)出請求
- $.ajax({
- type: "POST", // 使用post方式
- url: "addStudent.action",
- contentType:"application/json",
- data: JSON.stringify({param1:value1, param2:value2}), // 參數(shù)列表,stringify()方法用于將JS對象序列化為json字符串
- dataType:"json",
- success: function(result){
- // 請求成功后的操作
- },
- error: function(result){
- // 請求失敗后的操作
- }
- });
- });
- </script>
- </body></span>
Author:顧故
Sign:別輸給曾經(jīng)的自己
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。