wp231957 发表于 2020-2-20 17:22:30

无法实现重定向,各位帮我看看 应该修改前端代码 还是后台代码

本帖最后由 wp231957 于 2020-2-20 17:28 编辑

如图:点击完登录,前端后端   都不报错,只不过把我准备定向的url给发送到response里去了

不二如是 发表于 2020-2-20 18:13:47

前端发请求的代码,后端服务代码

wp231957 发表于 2020-2-20 18:23:03

不二如是 发表于 2020-2-20 18:13
前端发请求的代码,后端服务代码

前端代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>wp231957个人blog登录页面</title>
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script>
        <style>
      label { float: left; width: 10em; margin-right: 1em; text-align: right; }
          #logtit {margin-left:180px;}
          #logclick {margin-left:180px;}
          #logout {margin-left:30px;}
          div{ border:1px solid blue}
          #divlogin {margin-top:250px ;width:500px;margin-left:400px;height:180px}
    </style>
</head>
<body>
<div id ="divlogin">
    <h3 id="logtit" >用户登录界面</h3>
   
    <form method="POST">
         <label>用户名:</label><input type="text" name="username" id="usr" value=""><br>
             <label>密&nbsp&nbsp&nbsp码:</label><input type="password" id="pwd" name="password" value=""><br><br>
         <input id="logclick" type="button" value="登录">
         <input id="logout" type="button" value="退出">
    </form>

</div>
<script>
    onload=function(){
      document.getElementsByName("username").focus()
          
        $('body').on('click' , '#logclick' , function()
                {
            var username = $("#usr").val();
            var pwd = $("#pwd").val();
                  $.ajax
                        ({
                type: "post",
                url: "/session",
                                data: JSON.stringify({'usr':username,'pwd':pwd}),
                                contentType: 'application/json;charset=utf-8',
                                dataType : "json",
                success:function(hdata)
                          {
                  if(hdata)
                                  {
                            console.log(hdata);
                  }
                                        else
                                        {
                                             console.log("失败了");
                                        }
                }
            });                       
          });   
   }
</script>
</body>
</html>


后台:

@app.route('/session',methods=['GET','POST'])
def get():
    data = json.loads(request.get_data(as_text=True))
    print(data)    #这里能正常打印前端传入的用户名密码
    username=data["usr"]
    pwd=data["pwd"]
    if not session.get('username'):
       session["username"]=username
       session.permanent = True
    return render_template("lybmain.html",username=username)   
这个lybmain.html 就是想要重定向的url

不二如是 发表于 2020-2-20 19:08:33

wp231957 发表于 2020-2-20 18:23
前端代码:




后台返回的 html 代码片段,需要插入 html 标签中,而返回的整个 html 文档,则需要重写整个页面。

wp231957 发表于 2020-2-20 20:38:18

不二如是 发表于 2020-2-20 19:08
后台返回的 html 代码片段,需要插入 html 标签中,而返回的整个 html 文档,则需要重写整个页面。

        $('body').on('click' , '#logclick' , function()
                {
            var username = $("#usr").val();
            var pwd = $("#pwd").val();
                  $.ajax
                        ({
                type: "post",
                url: "/session",
                                data: JSON.stringify({'usr':username,'pwd':pwd}),
                                contentType: 'application/html;charset=utf-8',
                                dataType : "html",
                success:function(hdata)
                          {
                  alert(hdata);
                }
            });                       
          });   

这里的alert(hdata);就是后台传过来的 想要重定向的html的源码内容
后台的指令是直接在浏览器里渲染的,但是不知道什么原因,就是不显示呢
页: [1]
查看完整版本: 无法实现重定向,各位帮我看看 应该修改前端代码 还是后台代码