Метод HTTP — PUT возвращает статус 200, но данные не помещаются в базу данных

#javascript #reactjs #http #next.js #put

#язык JavaScript #реагирует на #http #next.js #класть

Вопрос:

Я новичок и не понимаю, почему мой запрос PUT не вставил данные в базу данных.

 const orderId = JSON.stringify(1000   Math.floor(Math.random() * 5000));   await fetch(`http://0.0.0.0:9010/fdb/pos/collection/order/${orderId}`, {  "method": "PUT",  "headers": {  "Content-Type": "application/json"  },  "body": JSON.stringify({  merchantId,  "_id": orderId,  "lineItems": cartItems,  "paymentIntent": paymentIntent.id,  "status": "stripePendingPayment",  "rejectedReason": "",  "totalPrice": String(basketTotalPrice * 100),  "updatedTs": new Date(),  "createdTs": new Date()  })  }).then(r =gt; console.log(r.status));  

Журнал вернул статус 200, но данных нет. Он работает с методом POST, но не PUT. У кого-нибудь есть какие-либо идеи относительно того, почему это так?

Любой вклад приветствуется с предварительной благодарностью.

Комментарии:

1. Если вы получили 200 ОК, вы ожидали, что что-то произойдет, но этого не произошло, тогда это проблема на стороне сервера.

Ответ №1:

PUT предназначен для обновления данных, возможно, этот метод просто говорит о том, что вы успешно обновили содержимое.

Комментарии:

1. Да, он, очевидно, принял соединение, но данные с сервера отсутствуют.

2. Проверьте конечную точку бэкенда для этого метода или поделитесь с нами для лучшего понимания. Этот метод ничего не вернет и просто обновит ваши данные, но без кода, в котором я не уверен.