You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将React Native连接至现有PHP+MySQL项目(主机不支持Node.js)

React Native 对接 PHP+MySQL 服务端可行方案

你现有服务端已经运行了PHP环境,完全不需要依赖Node.js/Express技术栈,直接在现有PHP站点上新增API接口层即可实现和React Native的GET、POST数据交互,具体落地步骤如下:


1. 服务端编写PHP API接口

在你的站点根目录下新建单独的api文件夹统一存放接口文件,每个接口对应一类业务操作,比如get_article_list.php、submit_user_info.php。
每个接口文件开头需要统一做跨域、返回格式配置,避免React Native端请求报错:

<?php
// 调试阶段可设置为*,上线后建议替换为严格的请求来源限制
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization");
header("Content-Type: application/json; charset=utf-8");

// 直接放行OPTIONS预检请求
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    http_response_code(200);
    exit();
}

配置完成后即可编写业务逻辑,参数获取、数据库操作参考示例:

// 接收GET参数
$type = isset($_GET['type']) ? intval($_GET['type']) : 1;

// 接收JSON格式POST参数
$postData = json_decode(file_get_contents('php://input'), true);
$username = isset($postData['username']) ? trim($postData['username']) : '';

// 参数校验
if (empty($username)) {
    echo json_encode([
        'code' => 400,
        'msg' => '参数缺失',
        'data' => null
    ]);
    exit;
}

// 数据库操作建议用PDO预处理语句,避免SQL注入
// 业务逻辑处理完成后统一返回JSON格式结果

接口写完后可先用Postman或者浏览器访问测试,比如你的接口地址为https://kasumushi.com/api/get_article_list.php,确认返回格式符合预期后再对接前端。


2. React Native 侧调用接口

直接用RN内置的fetchAPI即可发起请求,参考示例:

GET请求示例

fetch('https://kasumushi.com/api/get_article_list.php?type=1')
  .then(response => response.json())
  .then(res => {
    // 处理返回的业务数据
    console.log('接口返回结果', res)
  })
  .catch(err => {
    console.error('请求报错', err)
  })

POST请求示例

fetch('https://kasumushi.com/api/submit_user_info.php', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: 'test_user',
    age: 20
  })
})
.then(response => response.json())
.then(res => {
  console.log('提交结果', res)
})
.catch(err => {
  console.error('提交报错', err)
})

注意事项

  • 所有数据库操作必须使用预处理语句,禁止直接拼接SQL,避免SQL注入漏洞
  • 敏感业务接口建议增加签名校验,请求时携带加密签名,服务端校验通过后再执行业务逻辑,防止接口被恶意调用
  • 上线后将跨域头的*替换为严格的限制规则,降低安全风险
  • 如果手机端调试时出现网络错误,优先检查手机是否能正常访问你的站点域名,再确认接口跨域头配置是否正确

内容的提问来源于stack exchange,提问作者Kasumushi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 01:15:04