获取:您可以将参数传递给服务器

时间:2017-05-29 02:12:49

标签: fetch

我使用基本提取从快速服务器获取数据,该服务器从数据库查询数据。所以我想做一个登录系统,我想用输入请求从输入字段发送用户/密码。所以我可以执行逻辑检查以查看密码是否与服务器中的数据匹配。并回应结果。 是否可以进行可以传递参数的提取?

以下更新的代码:

let fetchData = {
  method: "post",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },

  body: JSON.stringify({
    username: this.state.user,
    password: this.state.password
  })
}

var fromServer = fetch('http://localhost:3000/', fetchData)
.then(function(response){
  if( !response.ok){
    throw Error (response.statusText);
  }
  return response.json();
})
.then(function(response) {
  console.log(response);
})
.catch(error => console.log("there was an error --> " + error));

快递功能

app.post('/', function(req, res){
  var uname = req.body.username;
  var pw = req.body.password;
  console.log(uname);
  console.log(pw);
});

1 个答案:

答案 0 :(得分:5)

当然可以!

以下是使用POST请求获取的示例:

fetch("http://example.com/api/endpoint/", {
  method: "post",
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },

  //make sure to serialize your JSON body
  body: JSON.stringify({
    name: myName,
    password: myPassword
  })
})
.then( (response) => { 
   //do something awesome that makes the world a better place
});

我之前已回答过这个问题,请查看此详细信息:

POST Request with Fetch API?

要在Express中处理请求,如评论中所述,假设您的快速服务器已设置为解析正文请求,则可以执行以下操作:

app.post('/your/route', function(req, res) {
    var name= req.body.name;
    var password = req.body.password;

    // ...do your bidding with this data
});