我使用此代码将android物理设备连接到服务器和mongo db
const Url = "http://192.168.1.2:8080/"
fetch(Url, {
method: "GET",
mode: 'no-cors',
headers: {
'Content-Type': 'application/json',
}
})
.then(res=>res.json())
.then(response => console.log(response))
.catch(error => console.log(error));
如您所见,我可以使用192.168.1.2
(IPv4)将我的android物理设备连接到我的计算机和服务器。
但是当我在网上的博览会上使用"http://192.168.1.2:8080/"
或"http://localhost:8080/"
时,它不起作用,并显示以下控制台错误:
GET http://192.168.1.2:8080/ net::ERR_ABORTED 401 (Unauthorized)
SyntaxError: Unexpected end of input
at App.js:34
如何解决?网上世博会的网址是什么?
答案 0 :(得分:0)
一段时间后在网上搜索,我找到了自己的解决方案
需要将mode: 'no-cors',
更改为mode: 'cors',
并且在nodejs服务器中需要添加以下代码:
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'application/json,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});