目录

  1. 简单的表单实现
  2. Ajax表单

简单的表单实现

前端代码如下(文件名为 page.html):

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Page</title>
  5. <meta charset="UTF-8" />
  6. </head>
  7. <body>
  8. <form action="./receive.php" method="POST">
  9. <input type="text" placeholder="姓名" required />
  10. <input type="submit" value="确定" />
  11. </form>
  12. </body>
  13. </html>

后端代码如下(文件名为 receive.php):

  1. <?php
  2. echo '<p>Hello, '.$_POST['user_name'].'</p>'
  3. ?>

步骤:

  1. page.html 中输入”WJT20”;
  2. 点击提交按钮,跳转到 receive.php 页面;
  3. 在 receive.php 页面,可以看到”Hello, WJT20”字眼,至此,我们实现了最简单的表单。

解析:

首先,html 页面中有一个表单 form 标签,这就是前后端数据交互的载体,form 标签设置有两个属性: action 和 method,action 属性即为数据发送的目标文件的 url,而 method 则是将数据发送给目标文件的方式,常用的有 get 和 post 两种,关于这两者的区别,这里不多讲,请自行百度。

然后,form 内部有两个表单组件,一个是要求输入姓名的文本框,另一个是提交按钮,传统表单中,提交按钮是必不可少的。后端通过”字段”来识别并处理某个数据,前端必须设置好”字段”这个东西,我们只需要给表单组件加上 name 属性即可,建议使用”_”作为分隔符的命名方式命名字段。

按下提交按钮后,后端 php 文件开始接收和处理数据了,若是 post 方式发送数据,则使用 $_POST[KEY] 来接收某个字段数据,KEY 参数为字段名,类型为字符串,若是 get 方式发送数据,则使用 $_GET[KEY],参数同 $_POST。

Ajax表单

前面介绍的是传统的表单交互,现在用的更多的是 Ajax 表单,前后端以 json 型数据交互。

前端代码如下(文件名为 page.html):

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <!-- 引入jquery,方便使用Ajax -->
  6. <script src="https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/jquery/jquery-1.10.2.min_65682a2.js"></script>
  7. </head>
  8. <body>
  9. <div>
  10. <input id="user-name" type="text" placeholder="姓名" required />
  11. <input id="comfirm-btn" type="button" value="确定" />
  12. </div>
  13. <script>
  14. $('#comfirm-btn').on('click', function() {
  15. $.ajax({
  16. url: './receive.php',
  17. type: 'POST',
  18. dataType: 'json', // 数据类型为JSON
  19. data: { user_name: $('#user-name').val() }, // 要发送的数据
  20. error: function(err) {
  21. console.error(err);
  22. },
  23. success: function(res) {
  24. if (res.status === 1 && res.data) {
  25. alert('ID: ' + res.data.id + ', USER: ' + res.data.name);
  26. } else {
  27. alert('Error...');
  28. }
  29. }
  30. });
  31. });
  32. </script>
  33. </body>
  34. </html>

后端代码如下(文件名为 receive.php):

  1. <?php
  2. // 先将数据封装为数组
  3. $data = array(
  4. 'status' => 1,
  5. 'data' => array(
  6. 'id' => '001',
  7. 'name' => $_POST['user_name'],
  8. )
  9. );
  10. // 再将数组转为JSON
  11. $data_json = json_encode($data);
  12. // 最后返回前端
  13. echo $data_json;
  14. ?>

  1. ID : 59
  2. DATE : 2018/01/13
  3. AUTHER : WJT20
  4. TAG : PHP