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 相关文章推荐
phpfans留言版用到的install.php
Jan 04 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
php使用curl访问https示例分享
Jan 17 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
PHP中的traits简单使用实例
May 13 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
php cli模式下获取参数的方法
May 05 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 PHP
PHP 图片处理
Sep 16 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脚本的10个技巧(8)
2006/10/09 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
JQuery下拉框应用示例介绍
2014/04/23 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
前端微信支付js代码
2016/07/25 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
vue模块移动组件的实现示例
2020/05/20 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
Vue实现简单的留言板
2020/10/23 Javascript
python实现在pickling的时候压缩的方法
2014/09/25 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python实现备份目录的方法
2015/08/03 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
20行python代码实现人脸识别
2019/05/05 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
大学生求职简历的自我评价
2013/10/14 职场文书
服务生自我鉴定
2014/01/22 职场文书
国贸专业的职业规划范文
2014/01/23 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
暑期教师培训方案
2014/06/07 职场文书
前台岗位职责
2015/02/13 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS