在移动设备上从前端向本地后端发出请求时出现问题

问题描述 投票:0回答:1

我正在本地开发一个应用程序,我的 React 前端在我的网络端口 4000 上运行,我的 Node 后端在我的网络端口 5000 上运行。当我工作时,我可以完美地发出从前端到后端的每个请求我的 Macbook - 包括登录、发布新数据、编辑数据等 - 但是当我通过网络在 Pixel 2 上打开应用程序进行一些移动优化时,前端的登录和注册帖子什么也没做。这很奇怪,因为当我从移动浏览器访问端口 4000 时,前端的登录屏幕渲染得很好,而当我访问端口 5000 时,我从后端获得了预期的 JSON 响应,因此手机显然连接到了两者。我在请求周期中添加了几个三元组来检查实际发生了什么,一切正常,直到最后

.then
,此时来自服务器的响应应该由前端处理:

const handleSubmit = (e) => {
        e.preventDefault()
        setOne(true) /* <-- THIS TEST FIRES */
        fetch(`${baseUrl}/users/signin`, {
            method: "POST",
            headers: {
                "content-type": "application/json"
            },
            body: JSON.stringify({
                email: email,
                password: password
            })
        })
        .then(setTwo(true)) /* <-- THIS TEST FIRES */
        .then(resp => resp.json())
        .then(setThree(true)) /* <-- THIS TEST FIRES */
        .then((data) => {
            setFour(true) /* <-- THIS TEST DOES NOT FIRE */
            if (data.error) {
                setError(true)
            } else {
                localStorage.qnToken = data.token
                localStorage.qnTheme = data.result.theme
                dispatch({type: "SET_USER", payload: data.result})
                dispatch({type: "SET_NOTES", payload: data.result.notes})
                history.push("/notes")
            }
        })
    }

我在后端控制器的登录操作上也有一个

console.log
来显示
res
对象 - 当我从 Mac 登录时日志会正常触发,但当我尝试登录时根本不会触发从电话。

有点不知所措,你知道为什么这些帖子可以在我的 Mac 上运行,但不能在移动设备上运行吗?想知道是否是我的 MongoDB 数据库存在某种权限问题或其他问题?

android node.js reactjs mobile request-response
1个回答
0
投票

你找到这个问题的解决方案了吗?因为我面临着同样的问题

© www.soinside.com 2019 - 2024. All rights reserved.