0

Expressアプリケーションを使用しています。ランディングページでは、電子メールアドレスを入力して「サインアップ」または「ログイン」をクリックするように促しています。彼らはまだアカウントを持っているかどうか。Node.js/Express間違いなくページ間でデータを渡すRESTfulルーティング

ユーザーは、POSTリクエストを介して「/ signup」または「/ login」に移動し、入力した電子メールアドレスを渡すことができます。

しかし、これらのルートの両方でPOSTを使用したので、別のURLにPOSTして、サインアップデータを処理するか、app.POST( "/ register")やapp.POST ("/入る")。これはかなり控えめで、私が固執したいと思っているRESTfulルーティングを間違っています。

私はGETリクエストを介してURLを介してデータを渡すことができますが、実際にはその解決策も嫌いです。

この状況ではどのような方法が最適ですか?私はちょうどGET要求を使用し、そんなに難解なことを止めるべきですか?それとも、まだ私が持っていない別の方法がありますか?

よろしくお願いいたします。

答えて

1

私はRESTfulなアプローチでこの混乱を感じる理由を知ることができます。代替方法は、電子メールアドレスをクライアント側に保存し、サーバにポストしないことです。彼らは実際にサインアップします。

LocalStorage Web APIを使用して電子メールアドレスをクライアントブラウザに格納し、/signupルートにヒットしたときに読み込むことができます。

let email = localStorage.get('email') 
document.querySelector('input[name="email"]').value = email 

これは、2つのルートの<script>タグでなければならないであろう。

let email = document.querySelector('input[name="email"]').value 
localStorage.set('email', email) 

は、後で上のユーザは、あなたがどうなる /signupルートに当たったとき。

sessionStorageを使用することもできます。これは、ユーザーがブラウザを閉じるとクリアされますが、localStorageは永続的なストレージソリューションです。

+0

を使って電子メールを渡す必要があります。それはメガ有用です。 –

1

レンダリングUIに/ signupおよび/ login GETリクエストを使用できます。そして/ signupおよび/ login処理のためのPOSTリクエスト

+1

ありがとう@ user29 - GETリクエストを使用してURLからメールアドレスを保持する方法はありますか? –

+2

いいえ、GETリクエストの場合は、URL – Bhavana

関連する問題