服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - thinkPHP5 ajax提交表单操作实例分析

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

2021-07-14 17:16我是高手高手高高手 PHP教程

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

本文实例讲述了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

延伸 · 阅读

精彩推荐