0

我正在本地开发一个应用程序,我的 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 数据库的某种权限问题还是什么?

4

0 回答 0