如何在不重新加载页面的情况下触发“保存密码”Web浏览器对话框?

时间:2017-08-22 08:54:12

标签: javascript reactjs web passwords

有没有办法在浏览器上使用React 触发保存密码模式而不重新加载页面

我正在使用基于令牌的身份验证。

1 个答案:

答案 0 :(得分:0)

为了让它在浏览器中工作,我唯一做的就是在身份验证成功后立即进行网络查询。

在render()方法中:

<form onSubmit={this.submitLogin.bind(this)}>
  <input name="email" type="email" ref={(input) => this.email = input} required={true}/>
  <input name="password" type="password"ref={(input) => this.password = input} required={true}/>
  <button type="submit" name="action">Submit</button>
</form>

submitLogin方法:

submitLogin(event) {
  event.preventDefault();
  fetch('http://localhost:3000/authenticate', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({email: this.email.value, password: this.password.value})
  })
  .then(response => response.json())
  .then(response => {
    if (response.error) {
      throw new Error(response.error);
    } else {
      // process the token ...
    }
  })
  .then(() => {
    // Do an authenticated network query
    // ===> Save password modal pops !!!
  })
  .catch(error => {
    console.error(error);
  });
}