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

在使用ThinkPHP框架开发项目时遇到登录表单提交后页面显示空白的异常,原因是页面通过AJAX方式加载导致。解决方案是在form表单中添加data-ajax="false",避免使用AJAX加载。加入这一属性后,页面跳转恢复正常。进一步了解,data-ajax="false"用于禁用AJAX加载,确保完整页面刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学用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 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值