fetch: ошибка сети при попытке получить ресурс - PullRequest
0 голосов
/ 22 марта 2019

В настоящее время у меня есть внутренний сервер, размещенный на Heroku. Я пишу расширение Firefox, в котором я использую fetch для отправки некоторых данных для хранения в базе данных бэкэнд-сервером. Проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь отправить запрос POST, используя fetch, я получаю Сетевую ошибку: при попытке извлечь ресурс, напечатанный на моей консоли.

Я читал, что это чаще всего происходит из-за CORS, и поэтому я пробовал много разных комбинаций удаления cors() с внутреннего сервера, а также передачи различных опций mode в fetch. Когда я выполняю mode: "no-cors" в Fetch и не выполняю app.use(cors()) на моем внутреннем сервере, запрос проходит, но это непрозрачный запрос и фактически не отправляет данные обратно на сервер в теле запроса.

Это часть кода CORS моего бэкэнда

app.options('*', cors()); // pre-flight request
//app.use(cors()); // I also tried this

Мой запрос на выборку выглядит так:

fetch('https://myapp.herokuapp.com/addProduct', {
                method: "POST",
                mode: "cors", // I've also tried no-cors and not using mode at all
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify(postData)
            }).then((res) => console.log(res))
            .then(response => console.log('Success:', JSON.stringify(response)))
            .catch(error => console.error('Error:', error))

Однако отправка запроса через Почтальон работает нормально.

Я действительно не уверен, что еще нужно сделать, чтобы выполнить этот запрос. Любая помощь будет принята с благодарностью!

...