ユーザーが初めてログインするときにユーザー認証を実行しようとしています。ユーザーがまだ確認されていない場合はuserid
、コードからコールバック メソッドを送信し、コールバックで別のページにリダイレクトします。
(window.location.href = "/verifyuser?id=" + response.userId)
しかし、私はこのようにしたくありません。代わりに、値を使用して URL への ajax 呼び出しを実行したいと考えています。userId が URL に表示されないようにします。使ってみた
$.ajax({
type:"POST"
url:"/verifyuser",
data:{id:response.userId},
async:false
});
しかし、うまくいきませんでした。私のサーバー側のコードは以下です(私はmvc 4を使用しています)
[HttpGet]
public ActionResult VerifyUser(string id)
{
ViewBag.Id = id;
return View("~/Views/User/VerifyUser.cshtml");
}
私のjsコードは以下の通りです:
var postObj = {
url: "Home/Login",
data: {},
callback: function (status, response) {
if (response.status === 400) {
var errors = response.errors;
var serverValidate = new PS.Validate(userObj);
var isvalid = serverValidate.showErrors(errors);
}
else {
if (response.userId !== null && response.userId !== undefined) {
window.location.href = "/verifyuser?id=" + response.userId;
}
else {
window.location.href = "/user-dashboard";
}
}
}
};
me.fm.post(postObj);
Ajaxの有無にかかわらずこれを行う方法はありますか? ありがとう。