Google reCAPTCHA验证失败,JSON解析错误及依赖加载异常排查求助
几天前我在自己的网站上集成了Google reCAPTCHA,当时一切运行正常。
今天我想测试一下使用了验证码的联系表单,结果控制台直接抛出了这个错误:
Hiba:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
我敢肯定代码本身没有语法问题——毕竟几天前还好好的,这期间我完全没碰过这部分代码。
我已经尝试了两种排查方法,但都没解决问题:
- 用Git完全回滚了今天的所有修改,问题依旧存在
- 怀疑自己被reCAPTCHA服务拉黑,特意注册了新账号、生成了全新的密钥配置,还是没用
会不会是Google的reCAPTCHA服务宕机了?或者还有别的我没考虑到的问题?
编辑补充
我现在确认代码逻辑没问题,问题根源在JSON解析环节。
我的JSON请求格式是完全合规的,所有字段都正确提交,包含了reCAPTCHA令牌,而且请求确实返回了200 OK状态码。
但在浏览器的网络面板里,我看到contact_api.php返回的是如下错误内容:
Warning: require_once(C:\Users\Lenovo\Intello-Weboldal\intello-web\includes\api/vendor/autoload.php): Failed to open stream: No such file or directory in C:\Users\Lenovo\Intello-Weboldal\intello-web\includes\api\contact_api.php on line 3
Fatal error: Uncaught Error: Failed opening required 'C:\Users\Lenovo\Intello-Weboldal\intello-web\includes\api/vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\Users\Lenovo\Intello-Weboldal\intello-web\includes\api\contact_api.php:3 Stack trace: #0 {main} thrown in C:\Users\Lenovo\Intello-Weboldal\intello-web\includes\api\contact_api.php on line 3
我检查了Composer的安装状态(是正常的),也确认了vendor目录下的autoload.php文件确实存在。
编辑2.0/3.0补充文件结构
我的项目根目录是intello_web,具体文件路径如下:
- 项目根目录:
intello_web> vendor > autoload.php - 接口文件路径:
intello_web> includes > api > contact_api.php
而我在contact_api.php中引入autoload.php的代码是:
require_once __DIR__ . '/../vendor/autoload.php';
备注:内容来源于stack exchange,提问作者PetGamer

