为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS 页面不会从服务器刷新

AngularJS 页面不会从服务器刷新

Go
慕田峪4524236 2021-10-04 16:40:49
我有一个 AngularJS 应用程序。服务器端是 Go 并使用 Gorilla Web Toolkit mux 和会话包。Angular 应用程序在主页上有两种形式,登录和注册。数据使用 AngularJS$http.post作为 JSON发布到 Go ,并从服务器作为 JSON 发回相应的响应。我想要实现的是,根据用户是否登录,应该在网站的主页面上提供两个不同的页面。目前,当我提交登录表单的详细信息并且服务器以适当的响应进行响应时,我重新加载页面,但 AngularJS 一直显示带有表单的页面而不是新页面。AngularJS 代码angular.module('app', [])angular.module('app').controller('SignInController', ['$scope', '$http', function($scope, $http) {    $scope.formData = {}    $scope.signIn = function() {        $http.post('/signIn', {            email: $scope.formData.email,            password: $scope.formData.password        }).success(function(data) {            console.log(data)            if(data.ok == true) {                window.location.reload(true)            }        })    }}])相关 Go 代码如下,SignInHandler 在 POST 到“/signIn”时被调用,IndexHandler 在 Get 到“/”时被调用。type JsonResponse map[string]interface{}func (jr JsonResponse) String() (output string) {    b, err := json.Marshal(jr)    if err != nil {        output = ""        return    }    output = string(b)    return}func SignInHandler(w http.ResponseWriter, r *http.Request) {    session, _ := sessionStore.Get(r, "user-session")    decoder := json.NewDecoder(r.Body)    var user User    err := decoder.Decode(&user)    if err != nil {        fmt.Fprint(w, JsonResponse{"ok": false, "message": "Bad request"})        return    }    if user.Email == "" || user.Password == "" {        fmt.Fprint(w, JsonResponse{"ok": false, "message": "All fields are required"})        return    }    userExists, u := user.Exists()    if userExists == false {        fmt.Fprint(w, JsonResponse{"ok": false, "message": "Email and/or password in invalid"})        return    }
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

在我的 IndexHandler 中添加 "Cache-Control": "no-store" 标头后,它开始正常运行。

w.Header().Set("Cache-Control", "no-store")


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信