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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
PHP抽象类 介绍
Jun 13 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
桌面中心(二)数据库写入
2006/10/09 PHP
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
jquery json 实例代码
2010/12/02 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
JS显示日历和天气的方法
2016/03/01 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
python使用tornado实现登录和登出
2018/07/28 Python
浅谈Python的list中的选取范围
2018/11/12 Python
Django接收自定义http header过程详解
2019/08/23 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
竞聘书格式及范文
2014/03/31 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
公司借款担保书
2015/09/22 职场文书