reactjs Axios Post内部循环,变量REACT不断变化

guykilcj  于 2022-11-04  发布在  React
关注(0)|答案(1)|浏览(133)

我有一个名为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(测试变量)值(空值)'

kh212irz

kh212irz1#

解决方法是使用application/x-www-form-urlencoded,URLSearchParams
默认情况下,axios会将JavaScript对象序列化为JSON。要以application/x-www-form-urlencoded格式发送数据,可以使用URLSearchParams API。

const params = new URLSearchParams({ foo: 'bar' });
params.append('extraparam', 'value');
axios.post('/foo', params);

请参阅https://github.com/axios/axios#urlsearchparams

相关问题