TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结


Posted in PHP onFebruary 10, 2020

本文实例讲述了TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法。分享给大家供大家参考,具体如下:

方法一: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法

前端代码

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>ajax交互</title>
 <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
 <script>
  $('.but').click(function () {
    var formData = $("#myform").serialize();//formData值:account=sdf&passwd=sdf
    //serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法
    $.ajax({
      type: "post",
      url: "{:url('index/index/reg')}", //数据传输的控制器方法
      data: formData,//这里data传递过去的是序列化以后的字符串
      success: function (data) {
        console.log(data);
        $("#content").append(data);//获取成功以后输出返回值
      }
    });
    return false;
  })
</script>
 </head>
 <body>
 <form id="myform">
  <!--这里给表单起个id用于获取表单并序列化-->
  <input type="text" name="account" />
  <input type="password" name="passwd" />
  <input type="button" value="提交" class="but">
 </form>
 <div id="content">
 </div>
 </body>
</html>

后端代码

public function reg($account,$passwd){
 if($account == '123'){
  return json("ajax成功!".$account."---".$passwd);
 }else{
  return json("你输出的是其他值:".$account."---".$passwd);
 }
}

方法二: 利用layui的form.on事件监听

前端代码

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>管理员登录</title>
  <meta name="renderer" content="webkit|ie-comp|ie-stand">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport"
     content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta http-equiv="Cache-Control" content="no-siteapp"/>
  <link rel="shortcut icon" href="./favicon.ico" rel="external nofollow" type="image/x-icon"/>
  <link rel="stylesheet" href="./static/css/font.css" rel="external nofollow" >
  <link rel="stylesheet" href="./static/css/weadmin.css" rel="external nofollow" >
  <script src="./lib/layui/layui.js" charset="utf-8"></script>
</head>
<body class="login-bg">
<div class="login">
  <div class="message">管理登录</div>
  <div id="darkbannerwrap"></div>
  <form method="post" class="layui-form">
    <input name="username" placeholder="用户名" type="text" lay-verify="required" class="layui-input">
    <hr class="hr15">
    <input name="password" lay-verify="required" placeholder="密码" type="password" class="layui-input">
    <hr class="hr15">
    <input class="loginin" value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit">
    <hr class="hr20">
  </form>
</div>
<script src="./static/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
  layui.extend({
    admin: '{/}./static/js/admin'
  });
  //layui.use调用模块
  layui.use(['form', 'admin'], function () {
    //获得form模块
    var form = layui.form
      , admin = layui.admin;
    //监听提交
    //事件监听
    //语法:form.on('event(过滤器值)', callback);(过滤器值指lay-filter="过滤器值")
    //function(data)里的data是一个object,data.field是表单填写的内容
    form.on('submit(login)', function (data) {
      //$.post写法:$(selector).post(URL,data,function(data,status,xhr),dataType)
      var post_data = data.field;
      $.post("{:url('verify')}"
        , post_data
        , function (data) {
          console.log(data);
        }
      )
      return false;
    });
  })
  ;
</script>
<!-- 底部结束 -->
</body>

后端代码

public function verify()
  {
    $posts = input("post.password");
    return json($posts);
  }

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
PHP ajax 分页类代码
Nov 13 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
php eval函数一句话木马代码
May 21 PHP
php中define用法实例
Jul 30 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
php实现的双色球算法示例
Jun 20 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 #PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 #PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 #PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 #PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 #PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
Feb 07 #PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 #PHP
You might like
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
python绘制双柱形图代码实例
2017/12/14 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
RealTek面试题
2016/06/28 面试题
MySQL 全文检索的使用示例
2021/06/07 MySQL