从React Native和expo调用本地域

时间:2019-09-23 19:37:27

标签: javascript react-native expo wampserver

我有一个本地网站,其中装有Wampserver和Windows(已编辑C:\Windows\System32\drivers\etc\hosts)。

  

http://myproject.local

此网站在我的计算机上可以正常运行。

现在,我想使用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测试时,效果很好。

我不知道该怎么办,您能帮我吗? :)

4 个答案:

答案 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 代码,您可以在其中了解错误是什么。