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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
如何用php获取文件名后缀
Jun 09 PHP
如何用php获取程序执行的时间
Jun 09 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
PHP实现的增强性mhash函数
May 27 PHP
php实现zip文件解压操作
Nov 03 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
laravel 获取当前url的别名方法
Oct 11 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
星际争霸秘籍
2020/03/04 星际争霸
php 阴历-农历-转换类代码
2012/01/16 PHP
php排序算法实例分析
2016/10/17 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
原生js生成图片验证码
2020/10/11 Javascript
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
给民警的表扬信
2014/01/08 职场文书
建筑项目策划书
2014/01/13 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
申报材料格式
2014/12/30 职场文书
尊师重教主题班会
2015/08/14 职场文书
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL