Home >Backend Development >PHP Tutorial >Ajax implementation of Form form submission and precautions

Ajax implementation of Form form submission and precautions

小云云
小云云Original
2017-12-19 13:28:511493browse

When using the form form, once you click submit to trigger the submit event, it will generally cause the page to jump. The control of behaviors such as jumps between pages is often in the backend, and the backend will control page jumps and data transfer. , but at some point you don’t want the page to jump, or you want to put control on the front end and use js to operate the page jump or data changes. This article mainly introduces the use of Ajax methods to implement Form form submission and precautions. Friends in need can refer to it. I hope it can help everyone.

Generally, for this kind of asynchronous operation, we will all think of the ajax method, so after implementing the function, we compiled this article to implement the form submission and subsequent asynchronous operations through the ajax method.

Common form submission methods

<!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>

After clicking the login button, the form form submission event is triggered, and the data is transmitted to the backend, which controls the page jump and data.

ajax implementation of form submission method

After modification, the code is as follows:

<!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

  • In the common method, click The type of the login button is "submit" type;

  • In the common method, the action of the form is not empty;

  • In the ajax method What needs attention is the parameters in the $.ajax method: dataType and data.

I rarely write front-end code. The level is entry-level. I can understand it and change it, so I often use Baidu, and this time I also used it to implement this function. Baidu, however, the dataType parameter value set in the $.ajax method of the code I received from Baidu was "html" instead of "json", which caused me to keep reporting errors when I first debugged it. Finally, I changed it to "json". Success, so here is a special explanation and reminder, don't go the wrong way like me. There is also the data value transmitted to the server. Like the above code, just serialize and transmit the data in the form.

Related recommendations:

Example detailed explanation of ajax implementation of the function of uploading files without refreshing

Using jQuery+Ajax in PHP to implement the paging query function

AJAX implementation of simple registration page asynchronous request example code

The above is the detailed content of Ajax implementation of Form form submission and precautions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn