2016-08-22 261 views
-1

我想刷新一个URL而无需刷新页面即可成功登录。 我正在使用以下代码如何用新的url替换url而不用页面刷新角js

$scope.Login = function (teacher, chkRememberMe) { 
    alert(chkRememberMe); 
    $http.post("/Teacher/Login", { teacher: teacher, chkRememberMe: chkRememberMe }) 
    .success(function (result) { 
     if (result == "True") { 
      toastr.success("You are Login successfully!!!"); 
      $timeout(function() { }, 5000); 
      $timeout(function() { }, 5000); 
      $location.path('Teacher/Index'); 
     } 
     else { 
      toastr.error("The email and password you entered don't match.") 
      window.location = "/Teacher/Login"; 
     } 
    }) 
    .error(function (error) { 
     error.message 
     alert(error); 
     toastr.error("The email and password you entered don't match11") 
    }) 
} 

URL未成功更新。

+0

修正措辞和拼写错误。 – Prune

+0

我相信你想要的是ngRoute这里记录:https://docs.angularjs.org/api/ngRoute/service/$route –

回答

0

您可以使用history.replaceState(data,title,url)来完成此操作。在MDN有一些文档。图书馆也可能有兴趣。

如果您尝试使用角度来处理单页验证,可能会很麻烦。你可能想看看AngularJS: Basic example to use authentication in Single Page Application了解更多。

另一方面:您可能还想考虑采取措施确保密码管理器按照您的预期运行。有几个解决这些问题的计算器问题(例如,How to make Chrome remember password for an AJAX form?)。

+0

我不是在谈论浏览器的历史。我正在谈论当任何用户第一次登录时,我们检查用户名和密码,如果两者都是正确的,然后移动到下一个页面与URL角度js帮助刷新。我正在谈论的只是从一个页面移动到其他页面,而不需要借助角度js刷新URL。 –