2017-08-22 7 views
0

のページをリロードせずに、React を使用してブラウザでパスワード保存モードを起動する方法はありますか?ページを再読み込みせずに[パスワードを保存する] Webブラウザダイアログを表示するにはどうすればよいですか?

私はトークンベースの認証を使用しています。

+0

Iは、<フォームアクションは= "#"> ''試み、それがうまく働いたレンダリング()メソッドで

。 –

+0

それは私のために働かない。私は、submitハンドラで 'event.preventDefault();'を使用します。それがなければページをリロードします。 – Hugodby

答えて

0

ブラウザ全体で動作させるには、認証が成功した直後にネットワーククエリを作成するしかありませんでした。

<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); 
    }); 
} 
関連する問題