Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 为什么我的POST请求没有到达Docker虚拟机中的Sails服务器?_Reactjs_Docker_Sails.js_Http Status Code 404 - Fatal编程技术网

Reactjs 为什么我的POST请求没有到达Docker虚拟机中的Sails服务器?

Reactjs 为什么我的POST请求没有到达Docker虚拟机中的Sails服务器?,reactjs,docker,sails.js,http-status-code-404,Reactjs,Docker,Sails.js,Http Status Code 404,我们有一个完整的堆栈应用程序,运行时有一个React前端UI,后端有一个基于节点的Sails API和Postgres数据库。后端设置为在Docker虚拟机上运行。所以问题就在这里:就我们所知,UI和Docker服务器和VM一样运行良好。但是,由于某种原因,我们的用户登录功能已停止与服务器连接。本应创建用户的POST请求返回404 Not Found错误,从未实际命中/users/create端点 我们已经尝试完全重新安装docker和虚拟机,清除缓存,从头开始。错误不会改变。我们还将接收此错误

我们有一个完整的堆栈应用程序,运行时有一个React前端UI,后端有一个基于节点的Sails API和Postgres数据库。后端设置为在Docker虚拟机上运行。所以问题就在这里:就我们所知,UI和Docker服务器和VM一样运行良好。但是,由于某种原因,我们的用户登录功能已停止与服务器连接。本应创建用户的POST请求返回404 Not Found错误,从未实际命中/users/create端点

我们已经尝试完全重新安装docker和虚拟机,清除缓存,从头开始。错误不会改变。我们还将接收此错误的计算机的代码与未接收此错误的计算机进行了比较,并且实际的服务器、端点或docker文件没有差异

可能值得一提的是,Docker中的Sails服务器无法找到并运行我们的grunt文件,而它过去一直在这样做(现在仍然在一台计算机上)。但是,该文件没有做任何与服务器直接相关的事情,也不应该导致404,我们认为这与此无关

另一个问题是,在安装允许相同来源请求的CORS Chrome扩展之前,我们刚刚收到一个CORS错误,它甚至阻止了请求。扩展现在似乎已经解决了这个问题,这可能也没有关系,但无论如何可能值得一提

这是我们的user reducer中的create user JavaScript(React)函数

    export const registrationEpic = action$ =>
      action$.ofType(USER_REGISTRATION)
        .mergeMap(action => ajax.post(`${process.env.REACT_APP_API_URL}/users/create`, action.payload)
          .map(data => {
            let response = data.response;
            if (response.user && response.token) {
              return userRegistrationFulfilled();
            } else {
              return Observable.of(userRegistrationRejected(["Unknown error. Please, refresh page and try again."]));
            }
          })
          .catch(error => {
            console.log(error)
            let errors = sailsErrors.parseValidationErrors(error.response);
            return Observable.of(userRegistrationRejected(!!errors ? errors : ["Unknown error. Please, refresh page and try again."]))
          }));
不过,我认为这段代码并不是特别相关——这项功能似乎很好,以前也可以使用。问题似乎出在Sails服务器-Docker连接中,该连接不“可见”


我希望当用户输入他们的信息时,他们将通过我们服务器的create端点登录(就像以前一样)。现在,正在提交数据,但控制台只是在我们的Sails服务器的创建端点上返回一个404 not found错误。

当您
console.log(`${process.env.REACT\u APP\u API\u URL}/users/create`)时,您是否获得了预期的API URL?如果是这样的话,你用curl测试过吗?@PierreV。是的,它返回正确的URL和端口。当我们通过邮递员运行它时,结果是一样的。它连接正确,但在浏览器中返回404。很好,我喜欢rxjs。分享你们是如何参与其中的,这将是非常棒的。我在媒体上写了一篇关于它的文章,但我很好奇别人是怎么做的。我也做过SSR,但我正在研究其他人是如何做的,以完善它。当你
console.log(`${process.env.REACT\u APP\u API\u URL}/users/create`)时,你得到了预期的API URL吗?如果是这样的话,你用curl测试过吗?@PierreV。是的,它返回正确的URL和端口。当我们通过邮递员运行它时,结果是一样的。它连接正确,但在浏览器中返回404。很好,我喜欢rxjs。分享你们是如何参与其中的,这将是非常棒的。我在媒体上写了一篇关于它的文章,但我很好奇别人是怎么做的。我也做过SSR,但我正在研究其他人是如何做的,以完善它。