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

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

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

你是否试图修复 WordPress 中无效的 JSON 错误?在你的网站上编辑 WordPress 帖子或页面时出现此错误。你将看到一条消息说 “响应不是一个有效的 JSON 响应”,更新该页面将失败。

在本文中,我们将向你展示如何轻松地修复 WordPress 中的无效 JSON 错误。我们还将讨论为什么会发生这个错误,以及在将来如何避免它。

是什么原因导致 WordPress 中的 "无效 JSON 响应" 错误?

没有从服务器接收到预期的响应会导致 WordPress 中出现 ' Not a valid JSON response ' 错误。

基本上,WordPress 需要在你编辑博客文章时与服务器通信。它依赖于从后台的主机服务器获取响应。此响应通常为 JSON 格式,用于使用 JavaScript 快速传输数据。

如果由于某些原因,WordPress 没有得到响应,或者响应不是 JSON 格式,那么你会看到 ' not a valid JSON response ' 错误。

WordPress not a valid JSON response 错误

出现此错误的原因有很多。然而,最可能的原因是 WordPress 中错误的 URL 设置或损坏的永久链接。

话虽如此,让我们看看如何轻松地修复 WordPress 中的无效 JSON 错误。

重要:在对你的网站做任何大的改动之前,请做一个完整的 WordPress 备份。这使你可以轻松地恢复你的网站到以前的状态。

1. 在设置中检查 WordPress 的 url

首先,你需要确保你的 WordPress 地址和网站地址设置是正确的。

简单地,进入设置 » 常规页面。从这里开始,你需要查看 WordPress 地址 (URL) 和站点地址 (URL) 字段。

检查 WordPress 当前地址是否正确

对于大多数网站,这个设置需要在两个字段中有相同的 URL。

然而,很少有用户会给 WordPress 提供自己的目录,并以不同的地址提供网站服务。在这种情况下,它们在这里可以有不同的 url。

但是,如果你的站点地址不正确,就会在 WordPress 中触发无效的 JSON 错误。

如果你对设置做了任何更改,那么不要忘记单击 Save changes 按钮来存储你的设置。现在可以编辑博客文章,看看添加任何新块或保存该文章是否会触发 “Not valid JSON response” 错误。

如果你仍然看到错误,那么继续阅读。

2. 修复 WordPress 永久链接

WordPress 提供了 SEO 友好的 URL 结构,允许你在你的帖子和页面上使用人类可读的 URL。

然而,有时用户可能会搞乱永久链接的设置。这将使 WordPress 编辑器无法获得有效的 JSON 响应,从而导致错误显示。

要解决这个问题,你只需要访问设置 » 永久链接页面。从这里开始,你需要仔细检查永久链接选项。

检查 WordPress 固定链接

如果你不确定是否使用了正确的设置,那么只需选择一种可用的默认格式。

在此之后,继续并单击 Save Changes 按钮来存储设置。

现在可以尝试编辑博客文章或页面,以查看错误是否消失。如果还没有,那么你可以尝试下一步。

3. 重新生成 WordPress .htaccess 文件

WordPress 中的 .htaccess 文件被用作一个配置文件来管理 SEO 友好的 URL(永久链接)。

通常情况下,WordPress 可以自动重新生成和更新它。你也可以通过点击设置 » 永久链接页面底部的保存更改按钮来触发更新。

然而,有时它可能没有得到更新或有不正确的设置。这将影响你的 WordPress 永久链接,也可能导致一个无效的 JSON 响应错误。

要解决这个问题,你需要使用 FTP 客户端或 WordPress 托管帐户仪表板中的文件管理应用程序连接到你的网站。

一旦连接上,你需要在你的网站根文件夹找到 .htaccess 文件,并将其作为备份下载到你的电脑。

提示:无法找到 .htaccess 文件?请看这篇关于如何找到 .htaccess 文件的快速文章。

之后,你需要使用 FTP 客户端或文件管理器应用程序编辑 .htaccess 文件。

打开文件后,你需要删除它里面的所有代码,并用以下代码替换:

# BEGIN WordPress
 
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
 
# END WordPress

不要忘记保存你的更改并将文件上传到你的网站。

你现在可以访问你的网站,编辑和发布或页面,看看你是否可以重现无效的 JSON 响应错误。

如果你仍然看到错误,那么你还可以采取其他步骤。

4. 查看其他 API 调试日志

无效的 JSON 响应错误也意味着你网站上的 WordPress REST API 遇到了一个错误。

REST API 是 WordPress 在你的网站上工作时用来与服务器通信的一套技术。

你可以在 WordPress 站点运行状况工具中查看此错误的详细信息。请访问 “工具 » 站点运行状况” 页面。

WordPress 查看站点运行状态

在这里,你可能会看到一个标记为 “REST API 遇到意外结果” 的问题。

点击它将显示你更多的细节,这可能给你一些线索,哪些插件或第三方服务可能导致问题。

如果这不能提供任何线索,那么你可以继续下一步。

5. 关闭所有 WordPress 插件

有时候,WordPress 插件之间或者 WordPress 核心之间可能会发生冲突。这可能会导致意外的行为,并可能是无效 JSON 错误的潜在原因。

只需进入插件 » 已安装插件页面。从这里,选择你所有的 WordPress 插件,然后在 Bulk Actions 下拉菜单中选择 “禁用”。现在,单击 Apply 按钮继续。

WordPress 将关闭你安装的所有插件。

现在可以再次尝试重现错误。如果错误消失,那么这意味着你的网站上安装的一个插件导致了它。

要找出哪个插件,你需要逐个激活它们,然后尝试重现错误。重复这一步骤,直到找到罪魁祸首。

在那之后,你可以联系插件作者寻求支持或者找到一个替代插件。

6. 临时切换到经典编辑器

如果以上所有步骤都失败了,那么你可以暂时切换到 WordPress 的经典编辑器。

这个旧版本的 WordPress 编辑器使用了一个更简单的文本编辑器,并且不太依赖 REST API 来获得 JSON 响应。

要使用它,你需要安装并激活 Classic Editor 插件。要了解更多的细节,请参见我们关于如何安装 WordPress 插件的一步一步的指南。

该插件可以开箱即用,激活时将禁用 Gutenberg 编辑器。

你现在可以继续在你的网站上工作,稍后返回故障排除。

7. 进一步的故障排除

有很多事情可以阻止 WordPress 的 REST API 或使它返回一个无效的 JSON 响应。我们已经解决了上面提到的最有可能的罪魁祸首,但如果这不能帮你解决它,那么这里有一些你可以尝试的更多步骤。

切换到默认的 WordPress 主题

有时你的 WordPress 主题和插件或 WordPress 核心之间的冲突可能会导致意想不到的行为。

你可以通过简单地切换到默认的 WordPress 主题,如 TwentyTwentyOne 或 Twenty-Twenty 进行测试。

暂时关闭网站应用程序防火墙

如果你使用的是像 Sucuri、Cloudflare 或插件这样的 WordPress 防火墙,那么它们有时也可能会阻止合法的请求。

解决这个问题最简单的方法是暂时禁用你的 WordPress 防火墙插件或服务。

一些应用级的 WordPress 防火墙可以通过停用插件来禁用。对于像 Sucuri 和 Cloudflare 这样的 DNS 级防火墙,你可以在你的帐户仪表板上禁用它们。

在 WordPress 中打开调试

WordPress 有一个内置的功能,允许你保存错误日志。但是,它在默认情况下没有启用。

要打开它,你需要在 wp-config.php 文件中添加以下代码:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );

在那之后,WordPress 将在 /wp-content/ 文件夹中的 debug.log 文件中保存所有错误的日志。你可以通过 FTP 客户端访问该文件。

错误日志可能会为你提供关于什么可能导致你的网站上的无效 JSON 错误的线索。