Post请求前端后端简单记录

Web  2024年7月18日 pm7:22发布4个月前更新 城堡大人
212 0 0

前言

简单记录一下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数据

 历史上的今天

  1. 2023: NDK中jni.h头文件完整内容(0条评论)
  2. 2023: JNI动态注册封装C++版(0条评论)
  3. 2021: 海子:麦子熟了(0条评论)
  4. 2019: 严歌苓:读书是生命的另一种存在(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

I-Cache与D-Cache的区别

前言文档中有关于芯片的介绍,其中一部分是最高运行频率2GHz,32KB L1 I-cache和32KB L1 D-cache ,L2 cache 512K。L1 Cache 表示一级缓存和L2 Cache 表示2级缓存是知道的,但是I-Cache和D-Cache就傻傻分不清了。因此参考网上文章...

林薇因:你是人间的四月天,一句爱的赞颂

我说你是人间的四月天;笑响点亮了四面风;轻灵在春的光艳中交舞着变。 你是四月早天里的云烟,黄昏吹着风的软,星子在无意中闪,细雨点洒在花前。 那轻,那娉婷你是,鲜妍百花的冠冕你戴着,你是天真,庄严,你是夜夜的月圆。 雪化后那篇鹅黄,你象;新鲜初放...

[摘]svc命令:管理电源控制,无线数据,WIFI

本文摘抄于《Android命令行测试BT,WIFI,Sensor工作状态》svc命令,位置在/system/bin目录下,用来管理电源控制,无线数据,WIFI。[plain] view plaincopy# svc svc Available commands: ...

jaudiotagger解析ID3第三版

前言之前介绍过jaudiotagger的第二版《jaudiotagger解析ID3第二版》,虽然代码上有优化,但还是效果不是不太理想,当然比第一版好多了哈。因此阅读jaudiotagger源码进行对之前的代码优化。正文导入jaudiotagger.jar导入lib库/libs/jaud...

严歌苓:读书是生命的另一种存在

一、我关于阅读与写作的记忆我出生在一个书香家庭,父亲虽是作家,但他很少用自己的文学理念影响我。在我的生活学习中,父亲就是一个很客观的教师,是我一生中最好的文学伴侣,最好的交流文学的朋友。父亲常与我沟通他最近读的好书,也会建议我去读。每天早上不管多忙,我都要拿出一小时与父亲喝咖啡,然后谈一谈我最近...

《MySQL基础教程》笔记5

前言主要是记录一下select命令的使用。根据《MySQL基础教程-西泽梦路》学习,简单的做一下笔记。记录于此,方便自己回忆。正文我这以Window版的phpstudy软件验证。需要进入这个目录,才可以使用mysql命令D:\phpstudy_pro\Extensions\MySQL5...