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 相关文章推荐
经典的PHPer为什么被认为是草根?
Apr 02 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 PHP
php实现json编码的方法
Jul 30 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
php创建图像具体步骤
Mar 13 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
php精度计算的问题解析
Jun 21 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
destoon各类调用汇总
2014/06/20 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
Jquery Ajax学习实例7 Ajax所有过程事件分析示例
2010/03/23 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JS获取时间的方法
2015/01/21 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
Python中atexit模块的基本使用示例
2015/07/08 Python
Anaconda入门使用总结
2018/04/05 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Django model update的多种用法介绍
2020/03/28 Python
在django中自定义字段Field详解
2019/12/03 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
python pillow库的基础使用教程
2021/01/13 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
物流管理专业职业生涯规划书
2014/01/06 职场文书
高考寄语大全
2014/04/08 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
读书笔记怎么写
2015/07/01 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang