如何修复 WordPress 中的无效 JSON 响应错误

您是否试图在您的 WordPress 网站上上传文件或编辑一段内容,结果却遇到了一条可怕的红色消息,内容类似于“更新失败。响应不是有效的 JSON 响应?”

当您的网站出现问题时,WordPress 无效的 JSON 响应错误会在新的块编辑器 (AKA Gutenberg)中发生。因为它在您处理内容时出现,所以它可能是一个令人沮丧的错误,因为它会妨碍您尝试完成的任何任务。值得庆幸的是,您可以采取一些简单的步骤来解决此问题并让您的网站再次正常运行。
在本文中,我们将简要解释无效 JSON 响应错误的含义。然后,我们将分享一些您可以实施的故障排除步骤来解决问题。

是什么导致 WordPress 无效的 JSON 响应错误?

如果您看到“更新失败。响应不是有效的 JSON 响应”,它通常会在您处理 WordPress 块编辑器中的内容时出现。在某些情况下,当您尝试将媒体文件上传到您的站点时,它也会出现,尤其是当您尝试将文件直接上传到块编辑器中的块时。
那么,为什么会这样呢?
当您在块编辑器中工作时,该编辑器会与您的 WordPress 站点的服务器保持持续通信。这种“交流”发生在幕后,但对编辑来说很重要。
这种通信的一种“语言”是 JSON,它是 JavaScript Object Notation 的缩写。如果此通信出现问题,WordPress 将显示“响应不是有效的 JSON 响应”消息。这意味着编辑器无法获得对服务器的响应或响应不是有效的 JSON 格式。
基本上,如果编辑器无法与服务器通信,它会改为显示此错误消息。
要解决这个问题,您基本上需要解决阻碍沟通的任何问题。

如何修复 WordPress 无效的 JSON 响应错误

现在您知道 JSON 响应错误消息的含义,让我们深入了解一些故障排除步骤来解决此问题。
我们将尝试按逻辑顺序排列这些问题,以便第一个故障排除步骤最有可能解决问题。
出于这个原因,我们建议按照我们编写它们的顺序尝试这些过程。

修复您网站的永久链接和 .htaccess 文件。

无效 JSON 响应错误的最常见原因之一是您站点的 .htaccess 文件和/或WordPress 永久链接存在问题。
值得庆幸的是,这也是最简单的调试步骤之一。这是您需要做的所有事情:

  1. 转到WordPress 仪表板中的设置 → 永久链接。
  2. 验证是否选择了正确的永久链接结构——如果已经选择了正确的结构,则无需更改任何内容。
  3. 单击保存更改按钮。即使您没有更改任何内容,您仍然应该单击保存更改按钮,因为它会强制 WordPress 重新生成其重写规则。

现在,返回到编辑器,看看是否修复了无效的 JSON 响应错误。
如果您仍然遇到问题,您可以通过删除它并强制 WordPress 生成一个新文件来保证您的 .htaccess 文件是干净的。就是这样:

  1. 使用FTP 客户端或cPanel文件管理器连接到您的服务器。
  2. 找到您的 .htaccess 文件(它应该在根文件夹中)。
  3. 将该文件的副本下载到您的计算机上作为备份(以防万一)。
  4. 从您的服务器中删除该文件。
  5. 转到WordPress 仪表板中的设置 → 永久链接,然后单击保存更改。这将强制 WordPress 生成一个新的、干净的 .htaccess 文件。
  6. 检查问题是否已解决。

最后,还有最后一个可能的修复方法,但它实际上只适用于高级 WordPress 用户。
如果您通过XAMPP等工具在本地开发环境中工作,您还需要确保已正确配置 .htaccess 文件权限并在 Apache 的设置中启用 mod_rewrite。确保在进行更改后重新启动 Apache。

检查您的 WordPress 站点 URL。

无效 JSON 响应错误的另一个常见原因是您的 WordPress 站点 URL 有问题。
如果您的站点 URL 不正确或者您不小心将 HTTP 而不是 HTTPS(假设您的站点使用的是SSL 证书),就会出现问题。
要解决此问题,请转到WordPress 仪表板中的设置 → 常规。
您需要在这里验证两件事:

  1. 确保 URL 正确。在绝大多数 WordPress 网站上,您的 WordPress 地址和网站地址应该相同。
  2. 如果您在网站上使用 SSL 证书,请确保两个 URL 都以https开头。

然后,保存您的更改。

在极少数情况下,您站点的 URL 可能已被硬编码到您的wp-config.php文件中。如果是这样,您通过 WordPress 仪表板所做的任何更改都不会应用,因为这些硬编码更改将覆盖仪表板设置。
同样,这非常罕见,因为您需要手动添加那些硬编码的更改,但它可能会发生,因此可能值得检查。例如,您的 WordPress 开发人员可能在没有让您知道的情况下为您完成了此操作。
以下是检查是否属于这种情况的方法:

  1. 使用 FTP 或 cPanel 文件管理器连接到您站点的服务器。
  2. 编辑wp-config.php文件。
  3. 搜索 define( ‘WP_HOME’ 或 define( ‘WP_SITEURL’

这是它可能看起来像的示例:

如果您确实找到了这些代码片段,您可以:

  1. 验证两个站点 URL 是否正确,并将代码片段留在wp-config.php文件中。
  2. 删除代码片段,这将告诉您的网站使用您在 WordPress 仪表板中设置的 URL。

检查混合内容警告(HTTPS 问题)。

如果您的网站使用的是 SSL 证书(现在大多数网站都这样做),混合 HTTP 和 HTTPS 内容的问题可能会触发无效的 JSON 响应错误。
为了让您的网站受益于 SSL 证书的安全性,您需要使用 HTTPS 加载网站上的所有资源。如果您仍然有一些资源通过 HTTP 加载,这可能会触发称为混合内容警告的东西,这会导致无效 JSON 响应错误的问题。
在上一节中,您确保您的 WordPress 站点 URL 都以 HTTPS 开头(如果您使用的是 SSL 证书),这应该已经解决了混合内容的许多问题。
但是,仍然可能存在问题,特别是如果您使用插件来处理将旧站点从 HTTP 迁移到 HTTPS 的情况。
如果您使用的是插件,请确保您已完全启用其混合内容修复器功能。您可以通过转到设置 → SSL并使用不同的方法切换启用混合内容修复器和Fire 混合内容修复器来执行此操作:

如果您没有使用 SSL 插件,许多主机现在都提供强制使用 HTTPS 的工具,您可以在主机仪表板中找到这些工具或查阅主机的文档。
最后,如果您在站点上使用 Cloudflare,请确保已将其加密模式设置为Full (Strict)或Full。首先尝试 Strict 选项,如果遇到任何问题,然后切换到 Full。

禁用安全防火墙。

如果您使用防火墙来保护您的 WordPress 网站,这有时会干扰编辑器与您的服务器的连接并触发无效的 JSON 响应错误。
这在您的网络主机的 ModSecurity 规则中尤其常见,尽管它也可能由流行的安全插件触发。
要解决此问题,请尝试停用防火墙或安全插件,看看是否能解决问题。如果编辑器开始工作,您就知道您的防火墙出了问题。
当然,禁用防火墙并不是一个可行的长期策略,但您至少现在知道是什么导致了问题,并且您可以开始修复问题了。
如果您的防火墙是在主机级别实施的,您可以要求您的 WordPress 主机调查编辑器并将其列入白名单,以避免它触发防火墙。这样,您就可以在避免无效 JSON 响应错误的同时维护站点防火墙的保护。
如果您使用的是 WordPress 安全或防火墙插件,您有两种选择:

  1. 您可以用其他插件替换现有的防火墙插件来保护您的站点而不会引起问题。
  2. 您可以联系插件的开发人员,询问他们有关白名单的问题,以避免将来出现问题。

如果您使用的是 Wordfence(或其他具有“学习模式”的插件),您还可以尝试重新激活学习模式以重置其防火墙规则。

使用经典的编辑器插件。

有些人报告说能够通过激活和停用经典编辑器(WordPress 的旧的、基于 TinyMCE 的编辑器)来修复无效的 JSON 响应错误。
只需几分钟,因此值得一看这个技巧是否可以解决您的问题。
这是您需要做的所有事情:

  1. 从 WordPress.org安装官方经典编辑器插件。
  2. 转到设置 → 写作并使用下拉菜单选择经典编辑器作为所有用户的默认编辑器。
  3. 保存您的更改。
  4. 使用相同的下拉菜单将默认编辑器更改回块编辑器。
  5. 再次保存您的更改。

现在,尝试创建或编辑一个新帖子,看看它是否有效。

停用您的 WordPress 插件。

调试 WordPress 错误可能很棘手,因为您使用的插件会为等式引入很多变量。在 WordPress.org 上有 58,000 多个插件,有很多边缘情况可能会触发无效的 JSON 响应错误。
确定问题是否由插件引起的一种简单方法是停用所有插件。
如果您在停用所有内容后仍然看到无效的 JSON 响应错误,您可以确信这不是您的插件的问题,您可以重新激活它们。
另一方面,如果停用插件后错误消失,则表明您正在使用的其中一个插件存在问题。
要找到有问题的插件,您可以一个一个地重新激活您的插件,确保在每个插件后测试编辑器。如果您激活一个插件并看到此后立即出现错误,则您已经找到了问题所在。
从那里,您可以用不会导致问题的替代方案替换该插件,或者您可以联系插件的开发人员寻求帮助和潜在修复。

通过媒体库上传媒体文件。

如果您在尝试通过块编辑器上传媒体文件时看到“响应不是有效的 JSON 响应”,一种解决方法是将这些图像直接上传到您的媒体库,而不是通过块界面。
当您添加图像块(或另一种媒体文件的块)时,单击“媒体库”选项并以这种方式上传文件,而不是仅单击“上传”按钮。
当您这样做时,您会看到常规的 WordPress 媒体库上传器界面,它应该可以让您绕过无效的 JSON 响应错误。

检查控制台和调试日志。

对于更高级的用户,您可以尝试深入浏览器的控制台或各种调试日志以查找更具体的问题。不过,对于临时用户来说,这并不是一个真正的解决方案,因为您需要一些技术知识才能在这里完成任何事情。
首先,您可以使用 Chrome 开发人员工具中的“网络”选项卡来查找 Ajax 调用的问题。
在网络工具中,选择FETCH/XHR以过滤掉 Ajax 调用并调试 REST API 问题。

您还可以从 WordPress 仪表板查看一些 REST API 问题。转到工具 → 站点运行状况并查找诸如“REST API 遇到意外结果”之类的标题。

使用经典编辑器作为短期修复。

最后一种方法不是永久性修复,但它是一种解决方法,可以帮助您在紧要关头发布内容。
早些时候,我们告诉过您有关经典编辑器的技巧,您可以将站点切换到经典编辑器,然后再切换回块编辑器。
好吧,如果其他提示都不适合您,继续发布内容的一种方法是只启用经典编辑器并暂时使用它来创建内容。
这不是真正的“修复”,因为您将失去块编辑器添加的所有功能。但是,它将使您能够在继续调试“响应不是有效的 JSON 响应”消息的同时处理内容。
此外,一旦块编辑器再次运行,您只需点击几下即可将经典编辑器内容转换为块。

修复 WordPress 无效的 JSON 响应错误

看到“更新失败。响应不是有效的 JSON 响应”消息可能会令人沮丧,因为它是在您尝试在 WordPress 编辑器中工作时出现的。
值得庆幸的是,对于大多数网站来说,调试这个错误应该不会太痛苦。
在大多数情况下,只需重新保存您的 WordPress 永久链接即可解决问题。如果这不起作用,您可能需要深入研究其他修复方法,例如检查您的站点 URL、使用 HTTPS 修复混合内容警告、调整防火墙等。实施这些故障排除步骤,您应该立即让您的站点再次正常运行。

Newsletter Updates

Enter your email address below and subscribe to our newsletter

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注