我有一个名为changing_variable的表单输入标签数组,这些标签依赖于用户从下拉菜单中选择的内容,因此这些标签是未知的。
我需要能够让www.example.com方法的属性Axios.post等于变量,以便将正确的数据输入到我的数据库中。我在网上看到的任何示例都具有如下属性:
name: this.name
age: this.age
然而,这对我来说不起作用,因为我不能硬编码这些值,因为它们会根据用户输入而变化,而且每个用户输入都有一百多个。
如果有人能帮我把这个变化的变量传递给我的后端。谢谢
我的当前代码:
var i;
var changing_variable;
for(i=1; i<arr.length; i++)
{
changing_variable = inputValues[i].text
Axios.post(URL, changing_variable)
.then(res => {
console.log(res);
console.log(res.data);
console.log(changing_variable)
})
}
};
编辑节点. js代码
app.post('/create', (req,res) => {
const test_variable= req.body.changing_variable;
db.query("INSERT INTO iptable (test_variable) VALUES(?)",
[test_variable], (err,result) =>{
if(err){
console.log(err)
}else {
res.send("Values Inserted")
}
}
)
});
终端错误消息代码:“错误错误无效错误”,错误号:1048,SQL消息:“列'test_variable'不能为空”,sqlState:“23000”,索引:0,sql:'INSERT INTO iptable(测试变量)值(空值)'
1条答案
按热度按时间kh212irz1#
解决方法是使用application/x-www-form-urlencoded,URLSearchParams
默认情况下,axios会将JavaScript对象序列化为JSON。要以application/x-www-form-urlencoded格式发送数据,可以使用URLSearchParams API。
请参阅https://github.com/axios/axios#urlsearchparams