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 相关文章推荐
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
php中几种常见安全设置详解
Apr 06 PHP
PHP文件上传原理简单分析
May 29 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
PHP实现的简单缓存类
Jul 29 PHP
PHP图片加水印实现方法
May 06 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
php DES加密算法实例分析
Sep 18 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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 中的一些经验积累
2006/10/09 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP错误机制知识汇总
2016/03/24 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python对html过滤处理的方法
2018/10/21 Python
flask应用部署到服务器的方法
2019/07/12 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Python pip使用超时问题解决方案
2020/08/03 Python
python 实现图片批量压缩的示例
2020/12/18 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
护士自我评价
2014/02/01 职场文书
《尊严》教学反思
2014/02/11 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
师德师风剖析材料
2014/09/30 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python