[英]Axios post request not sending parameters
我有一個 scipt 標簽,在其中我向通過 axios.Axios 的路由發出發布請求時沒有發送參數。 這是 axios 的代碼:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
const data={'firstName':"sai"}
axios({
url: "/",
method: "post",
data: data,
})
.then(response => {
console.log(response);
})
.catch(error => console.error(error));
</script>
這是事情的明確方面:
app.post("/",function(req,res){
console.log("post route");
console.log(req.body);
})
我控制台。在 req.body 的幫助下記錄來自 post 請求的數據(我也有 body-parser 工作得很好。用其他正常形式測試過)。req 通過點擊 post 路由。但是身體是空總是記錄“{}”。 這個你能幫我嗎。
選項 1:定義配置 object
let config = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}
}
強制:使用數組作為參數,而不是 js object 用於 'application/x-www-form-urlencoded'
const params = new URLSearchParams();
params.append('PARAM1', 'VALUE1');
params.append('PARAM2', 'VALUE2');
來電發帖
axios.post( uri, params, config )
或者
axios({
url,
headers: { 'content-type': 'application/x-www-form-urlencoded' }
data: params
})
選項 2:創建 api 實例(可選)並設置默認內容類型
const api_local = axios.create({
baseURL: 'http://localhost:1000/myapi',
});
api_local.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
強制:使用數組作為參數,而不是 js object 用於 'application/x-www-form-urlencoded'
const params = new URLSearchParams();
params.append('PARAM1', 'VALUE1');
params.append('PARAM2', 'VALUE2');
來電發帖
api_local.post( uri, params )
我也有 body-parser 工作得很好。用其他正常的 forms 測試
正常 forms 提交編碼為multipart/form-data
或application/x-www-form-urlencoded
的數據。
Axios 默認提交數據為application/json
。
您需要一個不同的正文解析器。 一種支持 JSON。
(或以不同的格式提交數據)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.