我正在使用React Native开发一个简单的应用程序。我正在Android设备上对其进行测试。我创建了一个Node.js服务器来监听请求,该服务器运行在http:// localhost:3333 /上。接下来,我要从index.android.js进行提取请求。下面是代码。
fetch('http://localhost:3333/', { 'method': 'GET', 'headers': { 'Accept': 'text/plain', } } ) .then((response) => response.text()) .then((responseText) => { console.log(responseText); }) .catch((error) => { console.warn(error); });
节点服务器上请求处理程序的代码如下
app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); app.use(express.static('public')); app.get('/', function(req, res){ console.log('Request received for /'); res.send("this is the response from the server"); res.end(); });
但是,获取请求无效。我在Chrome控制台中收到的错误是:TypeError:网络请求失败(…)。
如何使这项工作?
由于您的Android设备具有自己的IP,因此您需要将URL指向计算机的IP地址,而不仅仅是本地主机。例如fetch('http://192.168.0.2:3333/')。
fetch('http://192.168.0.2:3333/')