ASP.NET MVC 3 Webサイトで作業していて、すべてローカルバージョンで正常に動作しますが、クラウドにアップロードすると、期待どおりに動作します。ここに私のログインアクションです:jQuery AJAXリクエストでJSON文字列が返され、Windows Azureでリダイレクトされない
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Login(string username, string password)
{
password = Project_0._1._1.Cloud_Platform.Methods.Encrypt(password);
REST_Auth.REST_AuthResponse loginResponse = REST_Auth.GetAuthToken(username, password, Project.Instance.AdModule.DeviceID);
if (loginResponse.ErrorID != "AUTH00002")
{
HttpCookie _username = new HttpCookie("username");
HttpCookie _password = new HttpCookie("password");
HttpCookie _token = new HttpCookie("token");
HttpCookie _userID = new HttpCookie("userID");
_username.Value = username;
_password.Value = password;
_token.Value = loginResponse.Token;
_userID.Value = loginResponse.UserID;
this.ControllerContext.HttpContext.Response.Cookies.Add(_username);
this.ControllerContext.HttpContext.Response.Cookies.Add(_password);
this.ControllerContext.HttpContext.Response.Cookies.Add(_token);
this.ControllerContext.HttpContext.Response.Cookies.Add(_userID);
}
return Json(loginResponse);
}
そしてここでjQueryのコールです:成功すると、それはホームページにリダイレクトします。それは期待どおりに動作localhostをオン
$.ajax({
type: "POST",
url: "login",
data: $("#login_form").serialize(),
dataType: 'json',
beforeSend: function() {
$("#login_fields").fadeOut(300);
if ($("#lresponse"))
$("#lresponse").remove();
},
success: function (data, textStatus, jqXHR) {
if (data.ErrorID == "AUTH00002") {
$("#login_fields").fadeIn(500);
$("#login_fields").append("<span id='lresponse'>Invalid login details. Try again</span>");
}
else {
$("#login_fields").fadeIn(500);
window.location = "/";
}
},
error: function (error) {
alert(error);
}
});
。しかし、クラウド上では、ライブバージョンでは、HTMLページをレンダリングする代わりにJSON結果を表示するだけです。私は可能な限りすべてを試みました。他の誰かがこの問題に対処していますか?
エラーハンドラを起動し、JSON結果をアラートボックスに表示しますか?それとも、ページの内容をJSONの結果に置き換えるのですか?いずれにしても、Fiddlerまたは類似のツールを使用して応答をトレースし、その差異を比較すると役立ちます。 –
成功関数をヒットし、リダイレクトする代わりに、ページの内容をJSON結果に置き換えます。今までこのような行動に遭遇しましたか? – Kyprulez
私はそれをする具体的なことは考えられません。あなたはFiddlerを使って何かを見つけて、実際のサイトでlocalhostとレスポンスから得た応答を比較するかもしれません。私の感想は、レスポンスのContent-Typeが関与するかもしれないということですが、私はそれについて簡単に間違っている可能性があります。 –