如何使用ajax通过POST方法将按钮值发送到PHP后端?


AJAX(异步JavaScript和XML)通过允许服务器通信而无需页面重新加载,从而使网页更具响应性、交互性和动态性。JavaScript使用各种技术(包括XML、JSON和HTML)来发送和接收来自服务器的数据。其中,JSON是最受欢迎的。

AJAX经常用于将信息从网页发送到服务器端脚本,例如PHP脚本。大多数现代网络浏览器都包含XMLHttpRequest对象,可用于此目的。可以使用XMLHttpRequest对象连接到给定的URL,向该URL发送数据,然后等待来自服务器的响应。我们也可以使用JQuery ajax包来简化ajax请求。当按下按钮时,JavaScript用于向服务器上的PHP脚本发出POST请求。按钮的值作为数据在请求中发送,PHP脚本可以使用超级全局变量$_POST来访问它。然后,PHP脚本可以处理数据,并通过更新网页来响应JavaScript。

AJAX的主要目的是允许在网页上动态更新内容,而无需完全刷新页面,这可以改善用户体验并提高网站的响应速度。

使用Ajax方法

将通过AJAX方法发送到PHP后端的按钮值,可以分为两个步骤。

第一步,需要在JavaScript代码中设置按钮点击事件的监听。一旦点击事件触发,就可以发出一个到PHP后端的AJAX请求。需要注意的是,需要将AJAX调用配置为使用POST方法,而不是默认的GET方法。

第二步,在AJAX请求中包含按钮的值数据。可以通过访问按钮的value属性获取此信息,然后将数据包含在AJAX调用的data参数中。

在发出AJAX调用后,需要配置PHP后端来接收来自AJAX调用的数据。可以通过访问$_POST数组来实现。按钮的value属性的名称将作为数组的键,按钮的值将作为数组的值。完成上述步骤后,按钮值将通过POST方法,使用AJAX方法发送到PHP后端。

您可以使用jQuery的ajax()方法提交包含按钮值的POST请求,如下所示:

语法

// Button value
let buttonValue = $("#myButtonId").val();

// or, let buttonValue = document.getElementById("#myButtonId").value;

// Send the POST request
$.ajax({
   url: "php_file_name.php",
   type: "POST",
   data: { buttonValue: buttonValue },
   success: function(response) {
      
      // Do something if ajax request is successful
   }
});

示例

在下面的示例中,我们将按钮值以及两个字段值(电子邮件和密码)发送到PHP后端服务器。我们使用JQuery库来发出ajax请求。首先,我们创建一个包含HTML和JavaScript代码的index.php文件。JavaScript代码包含发出AJAX请求的代码。它发送表单数据以及按钮值。formSubmit.php是PHP的后端文件,它接收AJAX POST数据。

index.php

<html>
<head>
   <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
</head> 
<body>
   <h3>Send button value to <i>PHP backend</i> via POST using <i>AJAX</i></h3>
   <h4 id = "message" style = "color: #00ff00"></h4>
   <div id = "myForm" onsubmit = "submitFunc()">
   <div>
      <label for = "email">Email</label>
      <input type = "email" name = "email" id = "email">
   <div>
   <div>
      <label for = "password">Password</label>
      <input type = "password" name = "password" id = "password">
   <div>
      <button onclick = "submitFunc()" id = "submitButton" name = "myBtn" value = "XYZ">Submit</button>
   </div>
   <script>
      var name = document.getElementById('name');
      var pass = document.getElementById('password');
      var message = document.getElementById('message');
      var message = document.getElementById('myBtn');
      function submitFunc() {
         $.ajax({
            type: "POST",
            url: "formSubmit.php",
            data: {email: email.value, password: pass.value, btn: btn.value},
            success: function(result){
               message.innerHTML = 'Email and Password send successfully!'
            },
            error: function (err) {
               message.innerHTML = 'Email and Password send failed!'
            }
         });
      }
   </script>
</body>
</html> 

formSubmit.php

<?php
   if(isset($_POST)){
      $email = $_POST["email"];
      $password = $_POST["password"];
      $btn = $_POST["btn"];
      $result = "Email: $email, Password: $password, Button: $btn";
      echo $result;
   }
?>

这是将按钮值发送到PHP的完整演示。务必设置您的后端PHP文件以接收和处理请求;否则,可能会出现也需要处理的错误。

更新于:2023年3月10日

3K+浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告