今回は、Ajaxを使用してFormフォームを送信する手順について詳しく説明します。Ajaxを使用してFormフォームを送信するときの注意点を実際に見てみましょう。
フォームフォームを使用する場合、送信をクリックして送信イベントをトリガーすると、通常、ページ間のジャンプなどの動作の制御はバックエンドで行われ、バックエンドがページのジャンプとしかし、ある時点で、ページをジャンプしたくない場合や、フロントエンドに制御を置き、JS を使用してページ ジャンプやデータ変更を操作したい場合があります。
一般的にこの種の非同期操作はajaxメソッドを考えることになるので、機能実装後、フォーム送信とその後の非同期操作をajaxメソッドで実装するためにこの記事をまとめました。
一般的なフォーム送信方法
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>login test</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="login test"> </head> <body> <p id="form-p"> <form id="form1" action="/users/login" method="post"> <p>用户名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p> <p>密 码:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p> <p><input type="submit" value="登录"> <input type="reset" value="重置"></p> </form> </p> </body> </html>
ログインボタンをクリックすると、フォームフォーム送信イベントがトリガーされ、ページジャンプとデータを制御するバックエンドにデータが送信されます。
ajaxはフォーム送信メソッドを実装します
修正後のコードは以下の通りです:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>login test</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="ajax方式"> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> function login() { $.ajax({ //几个参数需要注意一下 type: "POST",//方法类型 dataType: "json",//服务端接收的数据类型 url: "/users/login" ,//url data: $('#form1').serialize(), success: function (result) { console.log(result);//打印服务端返回的数据(调试用) if (result.resultCode == 200) { alert("SUCCESS"); } ; }, error : function() { alert("异常!"); } }); } </script> </head> <body> <p id="form-p"> <form id="form1" onsubmit="return false" action="##" method="post"> <p>用户名:<input name="userName" type="text" id="txtUserName" tabindex="1" size="15" value=""/></p> <p>密 码:<input name="password" type="password" id="TextBox2" tabindex="2" size="16" value=""/></p> <p><input type="button" value="登录" onclick="login()"> <input type="reset" value="重置"></p> </form> </p> </body> </html>
Notes
共通メソッドでは、クリックされたログインボタンの種類は「送信」ですtype;
一般的なメソッドでは、フォームのアクションは空ではありません
ajax メソッドで注意する必要があるのは、$.ajax メソッドのパラメーターである dataType と data です。
レベルは理解して変更できるので、今回もBaiduを使用しました。 $.ajax メソッドのコードで設定されている dataType パラメーターの値が「json」ではなく「html」になっているため、最初にデバッグしたときにエラーが報告され続けました。最終的には「json」に変更しました。成功するので、ここで具体的に説明します。私のように間違った方向に行かないように注意してください。上記のコードと同様に、データをシリアル化して送信するだけです。フォーム。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
Ajax はどのようにしてファイルと画像を非同期にアップロードしますか
以上がAjaxを使用してフォームを送信する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。