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 相关文章推荐
php 中文处理函数集合
Aug 27 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
迁移PHP版本到PHP7
Feb 06 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
PHP实现事件机制实例分析
Jun 26 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
php 高效率写法 推荐
2010/02/21 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
[15:28]DOTA2 HEROS教学视频教你分分钟做大人-剧毒术士
2014/06/13 DOTA
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python对一个数向上取整的实例方法
2020/06/18 Python
python通过cython加密代码
2020/12/11 Python
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
数组越界问题
2015/10/21 面试题
学习十八大报告感言
2014/02/04 职场文书
考核工作实施方案
2014/03/30 职场文书
计生专干事迹
2014/05/28 职场文书
学校国庆节活动总结
2015/03/23 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android