AWS S3でホストされているウェブサイトをセットアップしました。私のホームファイルはホームディレクトリにindex.htmlとして設定されています。私がウェブサイトを開くと、それは私が望むものと同じファイルで開きます。私が自分のサイト(mysite.io)に行くと、mysite.ioにロードされます。これもまた私が望むものです。私が持っている問題は、 "/?#"がURLにないと、私が持っているコールバック関数が実行されていないということです。ウェブサイトのホームページがコールバックを実行していない?#
以下のコードからわかるように、ユーザーがログインフォームにデータを入力すると、電話とパスワードが読み込まれ、authenticateUserメソッドに渡されます。 URLに「/?#」がない場合、cognitoUser.authenticateUser(...)は以下のログで示されるように実行されません。
$('#login-form').submit(function() {
var phone = $('#login-phone').val();
var password = $('#login-pass').val();
authenticateUser(phone, password);
});
function authenticateUser(username, password) {
// a bunch of variables created here
console.log("This is always executed");
myVariable.doSomething(someStuff, {
onSuccess: function (result) {
console.log("This is not executed if there is no '?#' after mysite.io/");
},
onFailure: function (err) {
alert("Neither is this");
}
});
console.log("This is also always executed");
}
私は、オンラインでこのエラーについては何も見つけることができないと私はwebdevにかなり新しいですといくつかの助けを本当に感謝します。
ありがとうございます。それはうまくいった!だから私は実際にフォームを提出する際にページをリロードする必要はないので、私のフォーム提出のそれぞれに 'event.preventDefault()'を入れたいのですか?いつあなたはページをリロードしたいですか? –
はい、AJAXを使用している場合、最近は常にそうであるべきですが、 'event.preventDefault()'を使用してください。ああ、HTML '