当前位置:首页 > CMS教程 > Thinkphp > 列表

thinkPHP5 ajax提交表单操作实例分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-17 22:01:41 浏览: 评论:0 

这篇文章主要介绍了thinkPHP5 ajax提交表单操作,结合实例形式分析了thinkPHP5的ajax提交表单操作技巧,并附带说明了表单提交中的参数传递与处理技巧,需要的朋友可以参考下。

本文实例讲述了thinkPHP5 ajax提交表单操作,分享给大家供大家参考,具体如下:

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <head> 
  4.     <meta charset="UTF-8"
  5.     <title></title> 
  6.     <script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script> 
  7.     <script> 
  8.       function ajaxPost(){ 
  9.         var formData = $("#myform").serialize(); 
  10.         //serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,这个是jquery提供的方法 
  11.         $.ajax({ 
  12.           type:"post"
  13.           url:"{:url('Index/index/test')}"
  14.           data:formData,//这里data传递过去的是序列化以后的字符串 
  15.           success:function(data){ 
  16.             $("#content").append(data);//获取成功以后输出返回值 
  17.           } 
  18.         }); 
  19.       } 
  20.     </script> 
  21.   </head> 
  22.   <body> 
  23.     <form id="myform"><!--这里给表单起个id用于获取表单并序列化--> 
  24.       <input type="text" name="mess" /> 
  25.       <input type="text" name="id" /> 
  26.       <button onclick="ajaxPost()">---------</button> 
  27.     </form> 
  28.     <div id="content"
  29.     </div> 
  30.   </body> 
  31. </html> 

其实跟正常的ajax没什么区别,主要就是利用jquery的serialize()方法序列化表单

中间遇到些麻烦就是还没熟悉thinkphp5框架,之前一直用的3.2.3还没来得及,俩版本差别还是有的

一个是$_POST不能用了还有就是原来ajax的url可以使用框架的U方法没了具体看了看think下的助手函数发现是url

下边是随便写了个方法用于返回json数据

  1. public function test($mess,$id){ 
  2.     if($mess == '123'){ 
  3.       return json("ajax成功!".$mess."---".$id); 
  4.     }else
  5.       return json("你输出的是其他值:".$mess."---".$id); 
  6.     } 

此外,常规的参数提交与处理方法如下:

表单提交传参:

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

Tags: thinkPHP5提交表单 ajax提交表单

分享到: