在Reactjs中使用Axios将多个请求从Array发布到REST API django

时间:2019-04-21 11:44:52

标签: django reactjs django-rest-framework axios

我有一个数组,我想从数组中获取所有值,然后使用axios将值发布到rest-api django

在Django中,我有模型:

class Cars(models.Model):
    car = models.CharField(max_length=100)

我想从axios中添加数据到我的模型中,这是我的数组,我想从这个数组中获取价值,并在一次提交时一一添加到我的模型中,

let cars = [
   ["Saab", "Volvo", "BMW"],
   ["Toyota", "Alto", "Civic",]
]

我有这样的尝试

  handleFormSubmit = event => {
     event.preventDefault();
    for (var i = 0; i < cars.length; i++) {
       axios.post('myURL',{
            car: car[i]
        })
        .then(res => console.log(res))
        .catch(err => console.log(err));
      }
    }

提交后,我收到错误:“请求失败,状态码为400” , 当我在循环外进行axios发布时很好,但是我想从数组中添加多个数据。

2 个答案:

答案 0 :(得分:1)

400错误表示:

  

错误请求。您的浏览器发送了一个请求,要求该服务器无法   明白。

尝试在代码段中使用forEach函数。像这样:

 handleFormSubmit = event => {
     event.preventDefault();
     cars.forEach(car =>
       axios.post('myURL',car)
        .then(res => console.log(res.data))
        .catch(err => console.log(err));
      }
    }

答案 1 :(得分:0)

您将变量声明为car并在循环中使用car。

  • axios.post('myURL',{ car: cars[i] })

尝试此更改