TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结_php实例

来源:脚本之家  责任编辑:小易  

TP5入口文件默认是pulic下面index.php(假设前台入口),我自己建一个后台入口文件,admin.php,配置以下定义应用目录define('APP_PATH',_DIR_.'/./admin/');开启调试模式define('APP_DEBUG',true);加载框架引导文件require_DIR_.'/./thinkphp/start.php';复制代码application下面创建admin\\controller\\index.phpphpnamespace app\\admin\\controller;use think\\Controller;class Index extends Controller{public function index(){return '后台';return$this->fetch();}}www.zgxue.com防采集请勿采集本网。

本文实例讲述了TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法。分享给大家供大家参考,具体如下:

api就是应用程序接口,如果为接口设计那就是对于便于穿参数就是所谓的json,或者无刷新ajax传json,总之就是封装了js的简易类实现与php的json传递

方法一: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法

方法也很容易,在TP5加载框架引导start.php 前载入微擎框架引导bootstrap.inc.php就好了。第一步:在tp5入口文件index.php加入we框架引导bootstrap.inc.php 定义应用目录 define('APP_PATH',_DIR_.'/

前端代码

比如你要写个添加功能:在C层接受表单数据,然后把调用M 添加数据(如果你M名称和数据表同名,生成的M对象 在tp 中有链式操作可以简化你的数据处理);具体的可以 看官方手册,或者找个简单的实例入门。

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>ajax交互</title> <script src="https://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>

你访问模板文件干嘛?这种访问很不安全的,所以application目录下有个.htaccess文件 禁止了 你对这个目录的访问

后端代码

thinkphp 不是模板主题功能么 你看看开发手册 可以动态配置的

public function reg($account,$passwd){ if($account == '123'){ return json("ajax成功!".$account."---".$passwd); }else{ return json("你输出的是其他值:".$account."---".$passwd); }}

方法二: 利用layui的form.on事件监听

前端代码

比如你要写个添加功能:在C层接受表单数据,然后把调用M 添加数据(如果你M名称和数据表同名,生成的M对象 在tp 中有链式操作可以简化你的数据处理);具体的可以 看官方手册,或者找个简单的实例入门。

<!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>

后端代码

thinkphp 不是模板主题功能么 你看看开发手册 可以动态配置的

public function verify() { $posts = input("post.password"); return json($posts); }

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

目前tp5 在创建模块的时间没有3.0+的的自动创建然后加载。tp5.0 需要php think build test内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • tp5(thinkphp5)框架基于ajax与后台数据交互操作简单示例
  • thinkphp5 ajax提交表单操作实例分析
  • thinkphp5框架实现基于ajax的分页功能示例
  • thinkphp5框架ajax接口实现方法分析
  • thinkphp5 通过ajax插入图片并实时显示(完整代码)
  • thinkphp5.1+ajax实现的无刷新分页功能示例
  • thinkphp表单自动提交验证实例教程
  • thinkphp 防止表单重复提交的方法
  • thinkphp提交表单时默认自动转义的解决方法
  • thinkphp3.2实现在线留言提交验证码功能
  • thinkphp防止重复提交表单的方法实例分析
  • thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
  • php连接mysql数据库的3种常用方法
  • 在 laravel 项目中使用 webpack-encore的方法
  • laravel+jquery实现ajax分页效果
  • php微信浏览器分享设置以及回调详解
  • 解决在laravel中auth建立时候遇到的问题
  • php set_include_path函数设置 include_path 配置选项
  • thinkphp5.0框架引入traits功能实例分析
  • php与sql语句常用大全
  • laravel5.5 动态切换多语言的操作方式
  • laravel 实现向公共模板中传值 (view composer)
  • thinkphp5怎么通过系统DOS命令创建模块
  • tp5多个入口文件怎么配置
  • 关于thinkphp5的问题
  • thinkphp 5.0时代,哪个TP5的CMS会最先火
  • thinkphp5 怎么写接口
  • thinkphp5.0如何跟微擎结合,就是在TP里面如何使用$
  • thinkphp5中的model模型层,有什么用
  • thinkphp5.0.5 怎么能访问到index.html,目前的访问是http://localhost/tp5.0/public/,怎么修改。
  • tp怎么实现自动换模板啊?thinkphp
  • thinkphp3.2 和tp5差别大吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php实例thinkphp入门教程thinkphp模板操作技巧总结thinkphp常用方法总结codeigniter入门教程ci(codeigniter)框架进阶教程zend framework框架入门教程php模板技术总结tp5(thinkphp5)框架基于ajax与后台数据交互操作简单示例thinkphp5 ajax提交表单操作实例分析thinkphp5框架实现基于ajax的分页功能示例thinkphp5框架ajax接口实现方法分析thinkphp5 通过ajax插入图片并实时显示(完整代码)thinkphp5.1+ajax实现的无刷新分页功能示例thinkphp表单自动提交验证实例教程thinkphp 防止表单重复提交的方法thinkphp提交表单时默认自动转义的解决方法thinkphp3.2实现在线留言提交验证码功能thinkphp防止重复提交表单的方法实例分析thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例php连接mysql数据库的3种常用方法在 laravel 项目中使用 webpack-encore的方法laravel+jquery实现ajax分页效果php微信浏览器分享设置以及回调详解解决在laravel中auth建立时候遇到的问题php set_include_path函数设置 include_path 配置选项thinkphp5.0框架引入traits功能实例分析php与sql语句常用大全laravel5.5 动态切换多语言的操作方式laravel 实现向公共模板中传值 (view composer)php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php字符串的连接的简单实例php删除数组中空值的方法介绍360搜索引擎自动收录php改写方案ci框架整合smarty步骤详解php中使用tcpdf生成pdf文档实例php中实现中文字串截取无乱码的解决方法yii用户注册表单验证实例laravel 判断查询数据库返回值的例子ci框架扩展系统核心类的方法分析php循环结构实例讲解php针对多用户实现更换头像功能codeigniter表单验证方法实例详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved