本文实例讲述了TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法。分享给大家供大家参考,具体如下:
方法一: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法
前端代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<!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 > |
后端代码
1
2
3
4
5
6
7
|
public function reg( $account , $passwd ){ if ( $account == '123' ){ return json( "ajax成功!" . $account . "---" . $passwd ); } else { return json( "你输出的是其他值:" . $account . "---" . $passwd ); } } |
方法二: 利用layui的form.on事件监听
前端代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<!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 > |
后端代码
1
2
3
4
5
|
public function verify() { $posts = input( "post.password" ); return json( $posts ); } |
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/coco1118/article/details/83926730