首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在PHP中使用fetch() API POST方法获取数据?

在 PHP 中使用 fetch() API 的 POST 方法获取数据并不是直接可行的,因为 fetch() 是 JavaScript 中的一个函数,用于发起网络请求。不过,你可以在客户端使用 JavaScript 的 fetch() 发起 POST 请求,然后在服务器端使用 PHP 来接收和处理这些数据。

以下是一个简单的示例:

客户端(JavaScript)

代码语言:txt
复制
// 使用 fetch API 发起 POST 请求
fetch('http://example.com/api/data.php', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        key1: 'value1',
        key2: 'value2'
    })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

服务器端(PHP)

代码语言:txt
复制
<?php
// 检查是否收到 POST 请求
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取 JSON 数据
    $json = file_get_contents('php://input');
    $data = json_decode($json, true);

    // 处理数据
    if (isset($data['key1']) && isset($data['key2'])) {
        $response = [
            'status' => 'success',
            'message' => 'Data received successfully',
            'data' => $data
        ];
    } else {
        $response = [
            'status' => 'error',
            'message' => 'Invalid data'
        ];
    }

    // 返回 JSON 响应
    header('Content-Type: application/json');
    echo json_encode($response);
}
?>

解释

  1. 客户端(JavaScript):
    • 使用 fetch() 函数发起一个 POST 请求到 http://example.com/api/data.php
    • 设置请求头 Content-Typeapplication/json,表示请求体中的数据是 JSON 格式。
    • 使用 JSON.stringify() 将要发送的数据转换为 JSON 字符串。
    • 使用 .then() 处理响应数据,.catch() 处理错误。
  • 服务器端(PHP):
    • 检查请求方法是否为 POST。
    • 使用 file_get_contents('php://input') 获取原始的 POST 数据。
    • 使用 json_decode() 将 JSON 数据解码为 PHP 数组。
    • 检查并处理接收到的数据。
    • 设置响应头 Content-Typeapplication/json,并返回 JSON 格式的响应。

应用场景

这种客户端和服务器端的交互方式常用于现代 Web 应用程序中,特别是在构建 RESTful API 时。客户端可以使用 JavaScript 发起请求,服务器端使用 PHP 处理请求并返回响应。

参考链接

希望这个示例能帮助你理解如何在 PHP 中处理来自 JavaScript fetch() API 的 POST 请求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

通过 PHP Mysqli 扩展与数据库交互

2.1 数据库连接与查询 示例代码 在 php_learning 目录下新增一个 mysql 子目录,然后在该子目录下新建一个 mysqli.php 文件,编写一段通过 mysqli 扩展 API 建立数据库连接和查询的代码...,该函数的返回结果是一个查询结果集实例,拿到这个实例之后,就可以通过 mysqli_fetch_* 系列函数获取结果数据了。...这里我们通过 mysqli_fetch_all 函数获取所有查询结果,通过 php -S localhost:9000 启动 PHP 内置 HTTP 服务器: ?...$this->title; } } // 将数据库返回结果映射到指定个对象 $post = mysqli_fetch_object($res, Post::class); echo $post;...关于更新语句和删除语句参照插入语句实现即可,对于 mysqli 扩展来说,并没有针对 SELECT、INSERT、UDPATE、DELETE 语句提供不同的 API 方法,所有这些 DML 语句都可以通过

3.1K20
  • PHP7使用openssl解密易班API的用户数据

    PHP7使用openssl解密易班API的用户数据 一、mcrypt扩展解密   自从PHP版本更新到了7.1以上以后,mcrypt扩展被废弃,使用mcrypt扩展会出现如下图的报错。...只能使用openssl来代替。 ?   ...然而易班轻应用提供的还是旧版本的mcrypt扩展,这将导致php版本升级到7.1以上的版本会提示没有这个函数,以下是易班文档中心提供的解密代码,使用的加密方式为AES-128-CBC。 <?...php $postObject = addslashes($_GET["verify_request"]);//获取verify_request参数值 $postStr = pack("H*",...> ---- 二、改为openssl解密   测试过程中将以上代码使用openssl该写后使用AES-128-CBC解密失败,后将其改为AES-256-CBC后,option选择OPENSSL_RAW_DATA

    1.1K31

    如何使用 PHP Simple HTML DOM Parser 轻松获取网页的特定数据

    背景介绍网页数据的抓取已经成为数据分析、市场调研等领域的重要工具。无论是获取产品价格、用户评论还是其他公开数据,网页抓取技术都能提供极大的帮助。...今天,我们将探讨如何使用 PHP Simple HTML DOM Parser 轻松获取网页的特定数据。...这些数据对于分析二手车市场至关重要。我们的目标是通过正确使用 PHP Simple HTML DOM Parser 实现这一任务,并将采集的信息归类整理成文件。...接着,我们获取网页内容并解析 HTML,查找所有包含汽车信息的元素,并提取品牌、价格和里程信息。最后,我们将这些数据保存到一个 CSV 文件,便于后续分析。...结论通过使用 PHP Simple HTML DOM Parser,我们能够轻松地从网页中提取特定数据

    17610

    ModernPHP读书笔记(三)——PHP的良好实践

    2、PHP5.5.0有原生的密码哈希API,可以对密码加密、解密、重加密。.../sql_setting.php’);//根目录之外的配置文件,配置用户名密码等值 //第一步,用PDO连接数据库,其中的各关键信息,都存于sql_setting.php文件,文件定义$sets =...例:接上述代码 whild($sqlResult= $result->fetch()) 2)fetch_all:该方式一次性获取全部结果,存储方式fetch,在结果集比较小的时候可以用,但是结果较多不建议使用...3)fetch_column:获取指定列的结果,0为第一列。 4)fetch_object:把结果获取成类的形式。...2、流上下文 file_get_contents函数是用于获取网页的内容,但是可以通过使用函数stream_context _create,实现file_get_contents发送post请求。

    1.1K60

    【译】现代化的PHP开发--PDO

    它是在PHP 2.0.0引入的,但是从PHP 5.5.0开始就被弃用了,并且已经在PHP7.0.0被剔除了。考虑到在较新的PHP 版本不支持此扩展,因此不建议使用此扩展。...MySQL支持面向对象API和过程API,而PDO则使用面向对象API使用PDO的最大优点是可以编写可移植的代码。它使开发人员能够轻松地切换数据库,而mysqli只支持mysql数据库。...我们可以使用PDOStatement::errorInfo()获取与操作相关联的错误信息。 PDOStatement::fetch用于获取具有所需数据结构的结果。...4.1、Fetch 方法: 我们讨论过了一个(PDOStatement::fetch)用于检索结果集的获取方法。事实上,PDOStatement 提供了三种额外的获取方法。...4.1.1、PDOStatement::fetchAll方法: 与PDOStatement::fetch相似,PDOStatement::fetchAll方法的第一个参数也是一个标注参数,用于指定获取数据模式

    1.9K00

    前端埋点上报的几种方式

    简介--在现代Web应用程序,埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式,并详细阐述如何在项目中运用这些方式进行数据上报,以帮助开发者更好地进行数据收集和分析。...XMLHttpRequest或Fetch API使用XMLHttpRequest或Fetch API发送异步请求来上报数据。可以选择使用GET或POST方法,并将数据作为请求体或URL参数发送。...XMLHttpRequest或Fetch API优点:可以发送异步请求,支持GET和POST等多种HTTP方法。可以获取响应结果,并进行进一步处理。缺点:需要手动处理请求和响应的逻辑。...需要处理跨域请求的问题(设置CORS)。使用XMLHttpRequest或Fetch API发送异步请求来上报数据。可以选择使用GET或POST方法,并将数据作为请求体或URL参数发送。...数据上报:在前端代码,通过发送异步请求(XMLHttpRequest或Fetch API)将埋点数据发送到自定义接口的URL。

    1.2K20

    PHP全栈学习笔记12

    Linux操作系统,PHP面向对象,语言高级开发技术,常用PHP开发框架,PHP与公共api接口开发,PHP测试工具。...image.png 了解pdo,连接数据库的方法,pdo执行sql语句的方法,pdo获取结果集的方法,掌握pdo获取sql语句中的错误,错误处理的方法,事务处理,pdo存储过程。...> php获取结果集的方法 fetch()方法获取结果集中的下一行数据 fetchAll()方法获取结果集中的所有行 fetchColumn()方法获取结果集中下一行指定的列的值 fetch...> pdo错误处理: errorCode()方法和errorInfo()方法 errorCode()方法用于获取在操作数据库句柄时所发生的错误代码。...通过beginTransaction()方法开启事务 通过$_POST[] 方法获取表单中提交的数据 通过prepare()和execute()方法数据添加数据 通过commit()方法完成事务的提交操作

    2.3K30

    通过 PDO 扩展与 MySQL 数据库交互(下)

    综上,从性能和安全角度考虑,推荐使用预处理语句处理数据库的增删改查操作。...我们可以看到 fetchAll 方法默认返回的结果集数组既包含索引映射,又包含字段名映射,这可以通过设置获取模式来解决,比如要返回 Post 对象数组,可以这么做: return $stmt->fetchAll...,PDO 对象也为此提供了对应的 API 方法。...4、小结 关于通过 PDO 扩展与 MySQL 数据库交互,我们就简单介绍到这里,更多细节可以阅读官方文档,相信通过这几个课程的学习,你已经对 MySQL 数据库的基本使用以及如何在 PHP 连接数据库并进行增删改查有了初步的认知...,从下篇教程开始,我们将结合具体实战项目来开发一个现代的 PHP 项目,将之前的学习到的知识点应用到实战,并且引入一些现代的 PHP 理念对项目进行管理。

    1.5K00

    22-物联网开发终端管理篇-PHP使用PDO方式连接MySQL数据库,并对外提供GET,POST接口获取数据数据(.Windows系统)

    = "C:/php8/ext" 3,接着往下找到extension=pdo_mysql 去掉前面的;号 去掉前面的;号, 代表PHP使用pdo插件. 4,重启一下 测试 1,在网站根目录建一个后缀名为...> 在浏览器上测试下, ip地址填写自己的服务器地址 http://ip地址/php_pdo.php 对外提供GET,POST接口获取数据数据 1,直接访问数据库是不安全的,咱需要做http接口进行访问...如果用户按照前面的章节,自己的数据库里面应该有设备的数据了 2,GET接口规定 现在数据库里面已经存储了设备的数据了,获取某个设备某个时间段的历史数据格式规定如下: http://ip地址/php_mysql_get.php...$row = $result->fetch()) {//循环读出数据 $note["data_time"]=$row['data_time'];...> 打开测试工具 网站  http://www.ecjson.com/httpurl/ 通信方式选择 POST  路径: http://ip地址/php_mysql_post.php

    70920

    探索RESTful API开发,构建可扩展的Web服务

    好的餐厅会遵循一些基本原则,友好的服务、清晰的菜单和高质量的食材。同样,RESTful API也有一些设计原则:统一接口: API应该具有统一的接口,使其易于理解和使用。...实现POST请求实现POST请求时,我们的目标是在服务器上创建新资源。在RESTful APIPOST请求通常用于向服务器提交数据,以创建新的资源。...以下是一个详细的实现示例:// 检查请求方法是否为POSTif ($_SERVER['REQUEST_METHOD'] === 'POST') { // 从请求主体获取提交的数据 $data...以下是一个详细的实现示例:// 检查请求方法是否为PUTif ($_SERVER['REQUEST_METHOD'] === 'PUT') { // 从请求主体获取提交的更新数据 $data...然后,我们从请求的主体获取提交的更新数据,并获取要更新的资源ID。接下来,我们连接到数据库,并准备执行更新操作的SQL语句。我们使用PDO来执行更新操作,以防止SQL注入攻击。

    25600

    22-物联网开发终端管理篇-PHP使用PDO方式连接MySQL数据库,并对外提供GET,POST接口获取数据数据(linux系统,宝塔)

    > 在浏览器上测试下, ip地址填写自己的服务器地址 http://ip地址/php_pdo.php 对外提供GET,POST接口获取数据数据 1,直接访问数据库是不安全的,咱需要做http接口进行访问...如果用户按照前面的章节,自己的数据库里面应该有设备的数据了 2,GET接口规定 现在数据库里面已经存储了设备的数据了,获取某个设备某个时间段的历史数据格式规定如下: http://ip地址/php_mysql_get.php...$row = $result->fetch()) {//循环读出数据 $note["data_time"]=$row['data_time'];...php //http://ip地址/php_mysql_post.php //client_id=863488051205089&data_time_start=2022-07-30 00:00:00&...> 打开测试工具 网站  http://www.ecjson.com/httpurl/ 通信方式选择 POST  路径: http://ip地址/php_mysql_post.php

    84120

    干货 | 前端常用的通信技术

    get、post请求方法是很多前端童鞋使用最频繁的;websocket在11年盛行后方便了客户端和服务器之间传输,……and so on ,除了这些,还有很多我们不常使用的其他方式,但是在实际的业务场景却真实需要...本文总结了目前前端使用到的数据交换方式,阐述了业务场景如何选择适合的方式进行数据交换( form ,xhr, fetch, SSE, webstock, postmessage, web workers...前端经常使用的HTTP协议相关(1.0 / 1.1) method · GET ( 对应 restful api 查询资源, 用于客户端从服务端取数据 ) · POST(对应 restful api的增加资源..., 用于客户端传数据到服务端) · PUT (对应 restful api的更新资源) · DELETE ( 对应 restful api的删除资源 ) · HEAD ( 可以用于http请求的时间什么...常用于应用于一些都需要双方交互的,实时性比较强的地方(聊天,在线客服) 3. 数据传输量小 4. websocket 是个 持久化的连接 原理图 ? 图片来源于网络.

    2.2K60
    领券