PrestaShop 1.7.2.4后台登录失败:TypeError: jsonData is null
解决PrestaShop迁移新域名后后台登录无响应+jsonData为null报错问题
嘿,这个问题我之前帮朋友排查过,大概率是域名迁移后PrestaShop的配置或缓存不匹配导致的,给你几个实操性的排查修复步骤:
1. 优先检查数据库域名配置
这是迁移后最容易踩的坑:
- 登录你的数据库管理工具(比如phpMyAdmin),找到前缀为
ps_(如果你的前缀改了就找对应前缀)的configuration表 - 搜索
PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL这两个字段,确认它们的值完全匹配你的新域名(包括是否带www、是否是https),要和你访问后台的地址完全一致 - 如果值不对,直接修改并保存
2. 强制清除PrestaShop缓存
缓存残留会导致系统还在读取旧域名的配置:
- 登录服务器文件管理,找到PrestaShop根目录下的
var/cache/文件夹,删除里面所有文件和子文件夹(别删cache文件夹本身) - 如果能临时访问前台,也可以打开
config/defines.inc.php,把_PS_MODE_DEV_的值改成true开启调试模式,刷新页面后系统会自动清除缓存
3. 排查请求响应异常
控制台报错的核心是登录请求没返回预期的JSON:
- 打开浏览器控制台的「Network」标签,重新点击登录按钮,观察登录请求的响应内容:
- 如果返回的是HTML页面(比如404、维护页),说明请求被重定向到了旧域名或错误地址,回到第一步确认域名配置
- 如果是跨域报错,检查你的后台访问协议(http/https)、域名是否和数据库配置完全一致
- 可以尝试在
config/defines.inc.php里添加一行配置:define('_PS_COOKIE_DOMAIN_', '.你的新域名.com');(开头的点是为了适配子域名场景)
4. 临时修复login.js的报错(应急用)
如果上面的方法暂时没生效,可以先给login.js加个容错:
- 找到
js/admin/login.js(对应你的1.7.2.4版本),定位到第207行的success回调函数 - 在读取
jsonData.hasErrors前加个判断:
这样至少不会直接卡死,还能看到提示方便后续排查if (!jsonData) { alert('登录请求返回异常,请检查域名配置和缓存'); return; }
内容的提问来源于stack exchange,提问作者Nictek
相关产品推荐
相关产品推荐

