ホームページ > PHPフレームワーク > ThinkPHP > thinkPHP5 ajaxフォーム送信動作例分析

thinkPHP5 ajaxフォーム送信動作例分析

coldplay.xixi
リリース: 2020-08-14 17:08:49
転載
2835 人が閲覧しました

thinkPHP5 ajaxフォーム送信動作例分析

この記事の例では、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(&#39;Index/index/test&#39;)}",
          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 を使用する時間がありませんでした。2 つのバージョンにはまだいくつかの違いがあります。

1 つは、$_POST が使用できず、元の ajax URL が使用できることです。フレームワークの U メソッドがなくなっています。特に、think の下のアシスタント関数を調べたところ、それが url

であることがわかりました。以下は、json データを返すためのランダムなメソッドです。

public function test($mess,$id){
    if($mess == &#39;123&#39;){
      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(&#39;新增项目成功&#39;,url("Version/index",array(&#39;project_name&#39;=>$project_name)));
die;
ログイン後にコピー
関連する学習の推奨事項:

thinkphp

以上がthinkPHP5 ajaxフォーム送信動作例分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート