我有一个本地网站,其中装有Wampserver和Windows(已编辑C:\Windows\System32\drivers\etc\hosts
)。
此网站在我的计算机上可以正常运行。
现在,我想使用React Native和Expo创建移动应用程序。
但是,在我的移动应用中,当我呼叫我的网站时:
export function getForumIndex () {
const url = 'http://myproject.local/api/test'
return fetch(url)
.then((response) => response.json())
.catch((error) => console.error(error))
}
我遇到此错误:
[21:29:58] JSON解析错误:无法识别的令牌“ <” tryCallOne中的node_modules \ promise \ setimmediate \ core.js:37:14 未知的node_modules \ promise \ setimmediate \ core.js:123:25 ...另外8个来自框架内部的堆栈框架
我认为我的电话和博览会无法在我的计算机(http://myproject.local/api/test)上调用API。我是移动应用程序的初学者。当我用TMDb API测试时,效果很好。
我不知道该怎么办,您能帮我吗? :)
答案 0 :(得分:0)
由于您的应用程序正在手机上运行,因此您需要通过网络连接到计算机。最好的方法是将手机和计算机都连接到同一个wifi网络,然后将myproject.local
替换为计算机具有的本地IP地址,该IP地址是其连接到的wifi网络的位置,例如http://192.168.1.1/api/test
{1}}替换为计算机的本地IP地址。您可以按照these steps查找本地IP地址。
答案 1 :(得分:0)
由于您是在本地开发。您将需要使用计算机的本地IP。
首先,打开命令提示符并执行
ipconfig
注意IPV4地址,它将是您的AP urI使用的本地IP,例如http://192.168.10.100:80/api/test.php
答案 2 :(得分:0)
你必须使用你机器的IP地址,
答案 3 :(得分:-1)
实际响应不是 json 服务器正在渲染 html 页面。 所以你得到 JSON 解析异常。
代替响应 json() 尝试使用 console.log(response.text())
在该日志中,您将获得 html 代码,您可以在其中了解错误是什么。