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

Webonyx/Graphql-php用cURL请求时API echo输出混入页面如何解决

问题解决方法

核心问题修复

你出现该问题的根本原因是cURL配置错误:CURLOPT_RETURNTRANSFER参数设置为false时,curl_exec()执行后会直接把API返回的JSON内容输出到当前页面的输出流,不会将结果赋值给$result变量,才会导致JSON串直接出现在页面源码里。
只需将该参数修改为true即可解决问题:

// 原代码:curl_setopt($chObj, CURLOPT_RETURNTRANSFER, false);
curl_setopt($chObj, CURLOPT_RETURNTRANSFER, true);

可选优化建议

1. 接口端添加终止执行逻辑

为了避免API接口输出JSON后,还有后续代码输出多余内容,可以在接口端echo输出后添加终止语句:

header('Content-Type: application/json');
echo json_encode($output);
exit; // 终止后续所有代码执行,避免多余输出

2. cURL添加请求头声明

明确指定请求的Content-Type为JSON,避免部分环境下接口无法正常解析请求参数:

curl_setopt($chObj, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);

3. 修正variables参数格式

你当前代码中$variables赋值为空字符串,不符合GraphQL请求规范,建议修改为空数组或空对象,避免参数解析异常:

// 原代码:$variables = "";
$variables = new stdClass(); // 或 $variables = [];

内容的提问来源于stack exchange,提问作者Alex Abreu Mulet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:12:03