2017-04-21 119 views
-4

我有一個方法調用阿賈克斯和成功後,我需要重定向到另一個頁面。如何明智地重定向成功後的ajax登錄?

我想當ajax通話結束時,我的網址默認是被更改的,最後是我在ajax調用中發佈的用戶名和密碼。

如何明智地處理這個問題?我不是在去除異步錯誤的情況下,我知道我可以使用ajax給密鑰發送密碼和用戶名。

function Login() { 
    var model = { user_Name: $("#username").val(), Password: $("#password").val() }; 
    $.ajax({ 
     async: false, 
     url: 'http://localhost:51525/api/HomeApi/', 
     type: 'POST', 
     data: JSON.stringify(model), 
     dataType: "json", 
     success: function (data) { 
      alert("Function is successfully returned now redirect"); 

      //how to redirect?? 
      //window.location.href = 'http://localhost:51525/user/'; 
      //window.location.href = '@Url.Action("Index","User")'; 
     } 
    }); 
} 
+1

只是使用window.location – Nagaraju

+3

*「我認爲,當ajax通話結束我的網址是由DEFAULT更改結束與我的用戶名和密碼,我發佈在ajax調用。「*不,它不是。 Ajax調用不會更改您所在頁面的位置。當你嘗試在你的代碼中註釋掉的東西時,發生了什麼,**特別是**? 'window.location.href ='http:// localhost:51525/user /';'有效(你也可以寫成'location.href ='http:// localhost:51525/user /';'或者甚至'location ='http:// localhost:51525/user /';'或者,如果頁面位於http:// localhost:51525',只是'location ='/ user /';') –

+0

AND THIS一切都不工作。這是關注的人 –

回答

1

您的網址顯示用戶名和密碼的原因是因爲您觸發了使用默認方法=「GET」提交的表單。

有很多選擇。 E.G .:

從您的登錄返回false。這將禁用表單提交。

function Login() { 
    //Your code... 
    return false; 
} 

或者

根本不要使用Ajax和使用正常的窗體發佈:

<form method="POST" action="/api/HomeApi/"> 

此外,還有其他的方式,用戶可提交表單等等<form onsubmit="Login()">可能好於<input onclick="Login()">