如何在React上使用axios执行发布请求并将数据作为FormData传递?

时间:2020-08-17 02:17:41

标签: reactjs post request axios form-data

有一个API:http://zssn-backend-example.herokuapp.com/api/,在这里详细介绍:http://zssn-backend-example.herokuapp.com/swagger-api/index.html#!/people/Api_People_index。我正在尝试在此端点“ /people/{person_id}/properties/trade_item.json”上进行POST请求(在幸存者之间进行贸易交易)。在要测试的网站上,我用以下数据填充了这些字段,并获得204响应:

person_id:34e183a6-965e-4a61-8db5-5df9103f4d4b

消费者[姓名]:Person4

消费者[选择]:AK47:1;坎贝尔汤:1

消费者[付款]:急救袋:2

我调查了一下 this information

不理解“ PROPERTY [KEY]:VALUE”表示形式

当我尝试使用具有相同值的此代码请求(顺便说一句,此API的数据库每24小时被清除一次,因此即使您以正确的方式执行操作,这些值也可能不起作用) :

这是我的代码:

    async function handleTrade(e){

   e.preventDefault();

     const config = {
       headers: {
         "Content-Type": "application/x-www-form-urlencoded",
       },
     };
     await api.post(
       "/people/" + match.params.id + "/properties/trade_item.json",
       {
         person_id:match.params.id,
         name: survivorRef.current,
         pick: survivorItemsToPick,
         payment: userItemsToPay,
       },
       config
     );

这就是我得到的: 请求: request-description

响应: response-description

我如何才能以正确的方式提出此请求,以获得与第一张图片相同的结果?

1 个答案:

答案 0 :(得分:0)

您可以使用FormData发送请求,我举了一个例子:

book = xlrd.open_workbook(excel_path) 
sheet_ori = book.sheet_by_name('Sheet1')
return sheet_ori.row_values(0, 1, sheet_ori.ncols)