thinkphp 页面跳转不显示问题 data-ajax="false"

来源:互联网 发布:edg淘宝店 编辑:程序博客网 时间:2024/05/14 15:43

最近在学用thinkphp框架写个小项目时,发现这样一个问题:通过模板界面写登录表单form,submit提交之后,跳转到的界面是一片空白,当手动刷新地址栏时,会报出错误。

 <!--将表单提交到当前module的insert方法。--> <form name="RegForm" method="post" action="__URL__/insert" >       <div data-role="fieldcontain">        <label for="username"> 用户名 </label>        <input name="user_name" id="username"  value="" type="text" required>      </div>      <div data-role="fieldcontain">        <label for="password"> 密码 </label>        <input name="user_pwd" id="password" placeholder="" value="" type="password" required>      </div>        <div >        <input data-inline="true" type="submit" name="submit" value="提交"  />        <a data-inline="true"  data-role="button"  href="#"> 取消 </a>       </div>    </form>

提交后的页面是一片空白。
这里写图片描述


当再次手动刷新地址栏时,会显示非法数据对象错误。
这里写图片描述


解决方法:

在form里面添加data-ajax=”false”

<form name="RegForm" method="post" action="__URL__/insert"  data-ajax="false">

下面是个小测试
在模板中写个跳转按钮,调用控制台的方法进行跳转

模板里面的代码

  <!-- 调用当前module的mk方法-->  <a style="margin-left:37%;"  href="../book/mk" data-role="button" data-icon="home">界面跳转</a> 

控制台的代码

 public function mk(){      header("Content-type: text/html; charset=utf-8");      echo  "<script>alert('跳转成功');</script>";}

在没有添加data-ajax=”false”时,当点击按钮时,
跳转界面是一片灰白,当再次刷新地址栏时,才会跳出“跳转成功“的提示框。


添加data-ajax=”false”后运行恢复正常。

<a style="margin-left:37%;"  href="../book/mk" data-role="button" data-icon="home" data-ajax="false">界面跳转</a> 

这里写图片描述


原因分析:

在w3school中找到关于data-ajax的介绍

这里写图片描述

data-ajax=”false”表示不通过ajax方式来加载页面。
AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

具体原因本人也不是很懂,希望各位路过的大神能够提点一二,谢谢!

0 0