本文实例讲述了thinkPHP5 ajax提交表单操作。分享给大家供大家参考,具体如下:
!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数据
public function test($mess,$id){
if($mess == '123'){
return json("ajax成功!".$mess."---".$id);
}else{
return json("你输出的是其他值:".$mess."---".$id);
}
}
此外,常规的参数提交与处理方法如下:
表单提交传参:
input type="hidden" name="project_name" value="$project_name"/>
在控制器中获取
$project_name=input("post.project_name");
php中跳转传参:
$this->success('新增项目成功',url("Version/index",array('project_name'=>$project_name)));
die;
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:- 实例讲解PHP表单验证功能
- 实例讲解PHP表单处理
- php防止表单重复提交实例讲解
- php 提交表单 关闭layer弹窗iframe的实例讲解
- ThinkPHP防止重复提交表单的方法实例分析
- PHP用正则匹配form表单中所有元素的类型和属性值实例代码
- 微信小程序 PHP后端form表单提交实例详解
- 实例讲解PHP表单