前端使用Vue傳入參數,后端接收時多一個等於號=的問題


今天前端使用Vue傳入參數,后端接收時發現在參數末尾多了一個等於號=

前端:

 1 <template>
 2     <div>
 3         <el-input v-model="phoneNum" placeholder="請輸入手機號"/>
 4         <el-button @click="sendVerifyCode(phoneNum)">發送驗證碼</el-button>
 5         <el-input v-model="verifyCode" placeholder="請輸入驗證碼"/>
 6         <el-button @click="checkVerifyCode(phoneNum, verifyCode)">提交</el-button>
 7     </div>
 8 </template>
 9 
10 <script>
11     export default {
12         name: "Login",
13         data(){
14             return{
15                 phoneNum: '',
16                 verifyCode: ''
17             }
18         },
19         methods:{
20             sendVerifyCode(phoneNum){
21                 console.log(phoneNum);
22                 axios.post('http://localhost:8181/verifyCode/sendVerifyCode', phoneNum)
23                 .then(response => {
24                     console.log(response)
25                 })
26             },
27             checkVerifyCode(phoneNum, verifyCode){
28                 console.log(phoneNum, verifyCode)
29             }
30         }
31     }
32 </script>
33 
34 <style scoped>
35 
36 </style>

后端:

1     @PostMapping("sendVerifyCode")
2     public String sendVerifyCode(@RequestBody String phoneNum){
3         logger.info(phoneNum);
4         Boolean flag = verifyCodeService.setVerifyCode(phoneNum);
5         if(flag){
6             return "success";
7         }
8         return "failed";
9     }

 

在后端接收參數時,發現參數值的末尾會自動添加一個等於號=

仔細分析就能發現,原來是沒有把參數包裝成FormData傳入,導致傳入的參數不正確:

所以顯然,我們需要再進行封裝,把參數封裝進FormData中

const formData = new FormData();
formData.append("phoneNum", phoneNum);

此時:

后端即可正確接收。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM