ホームページ >ウェブフロントエンド >jsチュートリアル >Formフォーム送信を実装するAjaxメソッド

Formフォーム送信を実装するAjaxメソッド

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-31 11:12:312416ブラウズ

今回は、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="登录">&nbsp<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 はどのように非同期リクエストを行うのですか?

以上がFormフォーム送信を実装するAjaxメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。