Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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
Javascript 反应获取帖子,页面刷新并成为GET请求_Javascript_Node.js_Reactjs_Post_Get - Fatal编程技术网

Javascript 反应获取帖子,页面刷新并成为GET请求

Javascript 反应获取帖子,页面刷新并成为GET请求,javascript,node.js,reactjs,post,get,Javascript,Node.js,Reactjs,Post,Get,我的REACT网站中有一个登录页面,通过fetch发送POST请求,但每次由于某种原因提交请求时,它都会刷新页面并将其作为GET请求发送,我的登录页面上有以下方法: onSubmitSignIn = () => { fetch("http://192.168.56.1:8560/signin", { type: 'POST', headers: {'Accept': 'application/js

我的REACT网站中有一个登录页面,通过fetch发送POST请求,但每次由于某种原因提交请求时,它都会刷新页面并将其作为GET请求发送,我的登录页面上有以下方法:

    onSubmitSignIn = () => {
        fetch("http://192.168.56.1:8560/signin", {
            type: 'POST', 
            headers: {'Accept': 'application/json',
                'Content-Type': 'application/json'}, 
            body: JSON.stringify({
                email: this.state.signinEmail, 
                password: this.state.signinPassword, 
            }),
        })
        .then(response => response.json())
        .then(data => {
            if (data ==='success'){
    
            }
        })
          
    }

服务器端签名页面如下所示:


app.post('/signin', (req, res) => {

    if (req.body.email === database.users[0].email && req.body.password === database.users[0].password){
        res.json("success"); 
    }else{
        res.status(404).json("Error loggingin");
    }
})

邮递员工作正常,服务器似乎正常

我已经尝试将HTTP更改为https,即使我的服务器是HTTP以防万一。 尝试重新启动两台服务器,尝试更改以获取axios,但似乎没有任何效果

有什么想法吗?

onSubmitSignIn=(事件)=>{
onSubmitSignIn = (event) => {
        event.preventDefault() // <= You Need this

        fetch("http://192.168.56.1:8560/signin", {
            type: 'POST', 
            headers: {'Accept': 'application/json',
                'Content-Type': 'application/json'}, 
            body: JSON.stringify({
                email: this.state.signinEmail, 
                password: this.state.signinPassword, 
            }),
        })
        .then(response => response.json())
        .then(data => {
            if (data ==='success'){
    
            }
        })    
    }
event.preventDefault()//response.json()) 。然后(数据=>{ 如果(数据=='success'){ } }) }
onSubmitSignIn=(事件)=>{
event.preventDefault()//response.json())
。然后(数据=>{
如果(数据=='success'){
}
})    
}

在开发中创建React应用程序代理API请求--
src/setupProxy.js

人们通常从与其后端实现相同的主机和端口为前端React应用程序提供服务

不需要这样的设置。但是,如果您确实有这样的设置,那么编写诸如
fetch('/api/todos')
之类的请求是很方便的,而无需担心在开发期间将它们重定向到另一个主机或端口

要告诉开发服务器将任何未知请求代理到开发中的API服务器,请在
包.json
中添加
代理
字段,例如:

"proxy": "http://localhost:8560", 
手动配置代理 首先,使用npm或Thread安装
http代理中间件

$ npm install http-proxy-middleware --save
$ # or
$ yarn add http-proxy-middleware
接下来,创建
src/setupProxy.js
并在其中放置以下内容:

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:8560',
      changeOrigin: true,
    })
  );
};
应用程序编程接口:
在开发中创建React应用程序代理API请求--
src/setupProxy.js

人们通常从与其后端实现相同的主机和端口为前端React应用程序提供服务

不需要这样的设置。但是,如果您确实有这样的设置,那么编写诸如
fetch('/api/todos')
之类的请求是很方便的,而无需担心在开发期间将它们重定向到另一个主机或端口

要告诉开发服务器将任何未知请求代理到开发中的API服务器,请在
包.json
中添加
代理
字段,例如:

"proxy": "http://localhost:8560", 
手动配置代理 首先,使用npm或Thread安装
http代理中间件

$ npm install http-proxy-middleware --save
$ # or
$ yarn add http-proxy-middleware
接下来,创建
src/setupProxy.js
并在其中放置以下内容:

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:8560',
      changeOrigin: true,
    })
  );
};
应用程序编程接口:
我只是想回答一下,万一有人遇到和我一样的问题,在几个不眠之夜翻阅我的代码后,我想我登录页面的模板是从一个“tachyon”模板中取出来的,我在版本控制中遗漏了一个“表单”,实际上应该变成一个“div”,在讨论了这个问题之后,我突然想到,基本上,如果您碰巧从“表单”内部获取信息,并且该表单没有方法post,它将自动将API请求转换为GET请求,并用信息填充URL


这样就分类了。现在让我们来解决其余的bug。

我只是想回答一下,万一有人遇到与我相同的问题,经过几个不眠之夜的代码挖掘,我想我登录页面的模板是从一个“tachyon”模板中取出来的,我在版本控制中遗漏了一个“表单”这实际上应该被转换成一个“div”,在讨论完这个问题后,我突然想到,基本上,如果你碰巧从一个“表单”中获取信息,而这个表单没有方法post,它会自动将API请求转换为GET请求,并用信息填充URL


这样就分类了。现在让我们来解决其余的bug。

键入:“POST”、
这不应该是
方法:“POST”、
键入:“POST”、
这不应该是
方法:“POST”、
?刚刚更改了它,但不幸的是它仍然是同一个问题。这可能与浏览器的配置有关吗?或者是开发服务器?我还没有更改react development server上的任何配置,但我仍然想知道这可能不是因为代码问题,而是因为部署问题。好的,我的朋友。我会告诉你另一种方式刚刚改变了它,但不幸的是它仍然是同一个问题。这可能与浏览器的配置有关吗?或者是开发服务器?我还没有更改react development server上的任何配置,但我仍然想知道这可能不是因为代码问题,而是因为部署问题。好的,我的朋友。我会告诉你另一种方法