В моем приложении React я использую несколько запросов GET и POST к конечной точке API на моем сервере (https://www.example.com/api).
Это прекрасно работает, когда я ставлю сборку на сервере. Однако при разработке на localhost я замечаю, что запросы POST не выполняются.
Они подключаются к одной и той же конечной точке на реальном сервере. У меня есть расширение CORS на Chrome для решения CORS-проблем, и запросы GET работают просто отлично.
Запрос POST показывает 200 код состояния в Chrome, но на вкладке таймингов он говорит : caution request is not finished yet
, а ответ пустой.
Поэтому я покопался немного глубже и изменил URL-адрес конечной точки на https://postman-echo.com/post
, который в основном является конечной точкой API тестирования для запроса POST. Результат: это прекрасно работает на локальном хосте, и я получаю ответ от конечной точки.
Так что я озадачен ... что может быть, что вызывает запросы POST к конечной точке моего сервера потерпеть неудачу, в то время как запросы GET работают.
Я также пробовал это без React с jQuery, и в этом случае он прекрасно работает.
TL; Сводка DR:
+-------------+-----------------------+--------+------------+--------+
| Host | End-point | Method | Framework | Result |
+-------------+-----------------------+--------+------------+--------+
| localhost | example.com/api | GET | React | Works |
| localhost | example.com/api | POST | React | Fails |
| localhost | example.com/api | POST | jQuery | Works |
| localhost | postman-echo.com/post | POST | React | Works |
| example.com | example.com/api | POST | React | Works |
+-------------+-----------------------+--------+------------+--------+