前言

简单记录一下JavaScript和PHP中,使用post方法发送请求到后端并处理响应。

偶尔需要用,简单记录一下,方便自己查阅。

主要摘抄,只是参考思路,具体还是结合自己代码使用

正文

通常涉及以下步骤:

  1. 发送POST请求。

  2. 后端处理请求并返回数据

  3. 前端,使用回调函数处理后端返回的数据

前端1

PHP
<?php
    $data = array(
        'foo'=>'bar', 
        'baz'=>'boom', 
        'site'=>'localhost', 
        'name'=>'nowa magic'); 
    $data = http_build_query($data); 
    //$postdata = http_build_query($data);
    $options = array(
        'http' => array(
            'method' => 'POST',
            'header' => 'Content-type:application/x-www-form-urlencoded',
            'content' => $data
            //'timeout' => 60 * 60 // 超时时间(单位:s)
        )
    );
    $url = "https://www.biumall.com/test2.php";
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    echo $result;
?>
JavaScript
<script>
$(document).ready(function(){
  $("#myButton").click(function(){
    // 发送数据到后端
    $.post("https://www.biumall.com/test2.php", { key1: "value1", key2: "value2" }, function(data, status){
      // 处理后端响应
      console.log("Data: " + data + "\nStatus: " + status);
      // 更新前端内容或者进行其他操作
      $("#myDiv").html(data);
    });
  });
});
</script>

后端

test2.php
<?php
    // 确保只有通过POST请求才能访问此脚本
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        //传输的数据
        $postData = $_POST;
        // 处理$postData,例如将其存储到数据库或进行其他操作
        // ...
        // 准备返回的数据数组
        $response = array(
            'status' => 'success',
            'message' => '数据已处理',
            // 根据实际需求添加更多的数据
        );
        // 将数组转换为JSON格式
        $jsonResponse = json_encode($response);

        // 输出JSON格式的响应
        header('Content-Type: application/json');
        echo $jsonResponse;
    } else {
        // 如果不是POST请求,可以给出错误提示或其他响应
        http_response_code(405); // 设置HTTP状态码为405 Method Not Allowed
        echo '错误:请使用POST方法请求。';
    }
?>

参考文章

  1. PHP使用stream_context_create()模拟POST/GET请求的方法

  2. js $.post 前端后端处理方式

  3. php post并通过函数返回json数据

相关文章

暂无评论

none
暂无评论...