提取:尝试获取资源时出现网络错误

时间:2019-03-21 22:14:01

标签: javascript express cors firefox-addon fetch

我目前在Heroku上托管了一个后端服务器。我正在编写一个Firefox扩展,其中我使用fetch发送一些数据,以供后端服务器存储在数据库中。我遇到的问题是,当我尝试使用fetch发送POST请求时,出现网络错误:尝试获取打印到控制台的资源时。

我已经读到这最常见是由于CORS造成的,因此我尝试了许多不同的组合,这些操作包括从后端服务器中删除cors(),并在获取时传递不同的mode选项。当我在提取中执行mode: "no-cors"而在后端服务器中不执行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))

但是通过Postman发送请求就可以了。

我真的不确定在这里还能做些什么来使这个请求通过。任何帮助将不胜感激!

0 个答案:

没有答案