本文实例讲述了thinkPHP5 ajax提交表单操作。分享给大家供大家参考,具体如下:
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
|
<!DOCTYPE html>
< html >
< head >
< meta charset = "UTF-8" >
< title ></ title >
< script src = "//cdn.bootcss.com/jquery/3.1.1/jquery.min.js" ></ script >
< script >
function ajaxPost(){
var formData = $("#myform").serialize();
//serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法
$.ajax({
type:"post",
url:"{:url('Index/index/test')}",
data:formData,//这里data传递过去的是序列化以后的字符串
success:function(data){
$("#content").append(data);//获取成功以后输出返回值
}
});
}
</ script >
</ head >
< body >
< form id = "myform" > <!--这里给表单起个id用于获取表单并序列化-->
< input type = "text" name = "mess" />
< input type = "text" name = "id" />
< button onclick = "ajaxPost()" >---------</ button >
</ form >
< div id = "content" >
</ div >
</ body >
</ html >
|
其实跟正常的ajax没什么区别,主要就是利用jquery的serialize()
方法序列化表单
中间遇到些麻烦就是还没熟悉thinkphp5框架,之前一直用的3.2.3还没来得及,俩版本差别还是有的
一个是$_POST不能用了还有就是原来ajax的url可以使用框架的U方法没了具体看了看think下的助手函数发现是url
下边是随便写了个方法用于返回json数据
1
2
3
4
5
6
7
|
public function test( $mess , $id ){
if ( $mess == '123' ){
return json( "ajax成功!" . $mess . "---" . $id );
} else {
return json( "你输出的是其他值:" . $mess . "---" . $id );
}
}
|
此外,常规的参数提交与处理方法如下:
表单提交传参:
1
|
< input type = "hidden" name = "project_name" value = "$project_name" />
|
在控制器中获取
1
|
$project_name =input( "post.project_name" );
|
php中跳转传参:
1
2
|
$this ->success( '新增项目成功' ,url( "Version/index" , array ( 'project_name' => $project_name )));
die ;
|
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:http://blog.csdn.net/haibo0668/article/details/78085354