thinkPHP5 ajax提交表單操作範例分析

2020-08-14 20:00:24

本文範例講述了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>
    <p id="content">
    </p>
  </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;

相關學習推薦:

以上就是thinkPHP5 ajax提交表單操作範例分析的詳細內容,更多請關注php中文網其它相關文章!