我试图从服务器获取一些数据以显示在react native应用中。它以前曾工作过,但我不知道之后发生了什么,我在fetch的捕获中添加了console.log。它向我显示错误,例如
JSON解析错误:意外的标识符“隧道” -tryCallOne中的node_modules / promise / setimmediate / core.js:37:14 -node_modules / promise / setimmediate / core.js:123:25在 -...还有8个来自框架内部的堆栈框架
fetch(`${this.props.baseUrl}/products?page=${this.state.page}&per_page=10`,{
method:"get",
headers:{
AUTH_TOKEN: this.props.AUTH_TOKEN
}
}).then(res=>res.json()).then(data=>{
if(data.success==true){
this.page++;
this.props.toggleLoading();
this.props.loadProducts(data.products);
}
}).catch(err=>console.log(err)); //error here ..i dont know why that's throwing this kinda error
答案 0 :(得分:1)
这是因为 ngrok 停止了它的隧道,所以你的 api 返回了一些 text/html 而不是 json 数据,
答案 1 :(得分:0)
您好,您是否将dotenv用于环境变量?如果是,我也有同样的错误,我发现这是因为我的env变量未更新,这导致找不到隧道url。您可以尝试使用以下命令运行ur app:expo r -c
或在此链接https://github.com/zetachang/react-native-dotenv/issues/24中参考解决方案
答案 2 :(得分:0)
对我来说,我忘记了更新在变量中指定的ngrok网址。更新它可以解决问题