【问题标题】:how to replace url with new url without page refresh in angular js如何在angular js中用新的url替换url而不刷新页面
【发布时间】:2016-12-29 11:15:27
【问题描述】:

我想在不刷新页面的情况下成功登录后刷新 URL。 我正在使用以下代码

$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")
    })
}

网址未成功更新。

【问题讨论】:

标签: angularjs model-view-controller


【解决方案1】:

您可以使用history.replaceState(data,title,url) 来完成此操作。 MDN 有一些文档。 history.js 库也可能很有趣。

如果您尝试使用 Angular 处理单页身份验证,则可能会很麻烦。您可能想查看AngularJS: Basic example to use authentication in Single Page Application 了解更多信息。

顺便说一句:您可能还需要考虑采取措施确保密码管理器按预期运行。有一些 stackoverflow 问题可以解决这些问题(例如,How to make Chrome remember password for an AJAX form?)。

【讨论】:

  • 我不是在谈论浏览器历史记录。我说的是当任何用户第一次登录时,我们检查用户名和密码,如果两者都正确,然后在 Angular js 的帮助下移动到下一页而不刷新 url。我说的是在 Angular js 的帮助下从一个页面移动到另一个页面而不刷新 url。
猜你喜欢
  • 2014-04-11
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多