- 错误类型:
- 其他错误
- 错误名称:
- 无效JSON错误
- 英文名称:
- The Invalid JSON Error
- 错误描述:
- 无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。
在WordPress网站上编辑文章或页面时,你是否曾经遭遇过 ‘The response is not a valid JSON response’ 这样的错误。
在本教程中,我们将详细说明如何修复WordPress中的无效JSON错误。我们还将讨论为什么会发生此错误,以及将来如何避免该错误。
什么导致WordPress出现 ‘Not a Valid JSON Response’ 错误?
无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。
基本上,WordPress在编辑博客文章时需要与服务器通信。它依赖于在后台从Web托管服务器获取响应。此响应通常采用JSON格式,该格式用于使用JavaScript快速传输数据。
如果由于某种原因,WordPress无法获取响应,或者响应不是JSON格式,那么您将看到 ‘Not a Valid JSON Response’ 错误,如下图所示。
出现此错误的原因有很多。但是,最有可能的原因是WordPress中的网址设置不正确或固定链接失效。
下面让我们一起看看应该如何修复WordPress所出现的无效JSON错误。
重要提示:在对网站进行更改前,请进行执行WordPress备份。以防出现问题,可快速将网站还原到以前的状态。
1.检查WordPress的链接设置
首先,您需要确保WordPress地址和站点地址设置正确。
转到设置»常规页面。即可查看WordPress地址(URL)和站点地址(URL)字段。
对于大多数网站,此设置的两个字段应该对应相同的URL。
但是,也有少部分站长给WordPress设置指定的目录,并在其他地址上为网站提供服务。在这种情况下,两个URL地址可能不同。
但是,如果站点地址不正确,这会导致WordPress触发无效的JSON错误。
如果是因为WordPress地址和站点地址设置错误问题,修正并保存更改后。再次编辑博客文章,查看是否添加任何新区块或保存该文章,看是否会触发 ‘Not a Valid JSON Response’ 错误。
如果仍然看到错误,请往下看。
2.修复WordPress固定链接结构
WordPress带有SEO友好的URL结构,这样对文章和页面使用人类可读的URL。
但是,有时用户可能会弄乱固定链接设置。这可能导致WordPress编辑器无法获得有效的JSON响应并导致显示错误。
要解决此问题,您只需访问设置»固定链接页面。在这里,您需要仔细查看固定链接选项。
如果不确定是否使用正确的设置,则只需选择可用的默认格式之一。
之后,继续并单击“保存更改”以存储您的设置。
然后尝试编辑博客文章或页面,以查看错误是否已消失。如果还没有,那么尝试下一步。
3.重新生成htaccess文件
WordPress中的.htaccess文件用作配置文件,用于管理SEO友好的URL(固定链接)。
通常,WordPress可以自动重新生成和更新它。您还可以通过单击“设置”»“固定链接”页面底部的“保存更改”按钮来触发该更新。
但是,有时它可能无法更新或设置不正确。这会影响您的WordPress固定链接,还可能导致无效的JSON响应错误。
要解决此问题,您需要使用FTP客户端或WordPress托管帐户信息中心中的文件管理器应用程序连接到您的网站。
连接后,您需要在网站的根文件夹中找到.htaccess文件,并将其下载到本地计算机。
提示:无法找到.htaccess文件?参考如何查找.htaccess文件这篇文章。
之后,您需要使用FTP客户端或文件管理器应用编辑.htaccess文件。
打开文件后,替换为以下代码:
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
# 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.查看Rest API调试日志
无效的JSON响应错误也可能意味着WordPress的REST API遇到错误。
REST API是当您在网站上工作时WordPress用于与服务器通信的一组技术。
您可以在WordPress网站运行状况工具中查看此错误的详细信息。访问工具»站点健康页面。
在此处,您可能会看到一个标记为 ‘The REST API encountered an unexpected result’ 的问题。
单击问题将会显示更多详细信息,这可能会给您一些提示,指出哪些插件或第三方服务可能会导致此问题。
如果没有提供任何线索,则可以继续进行下一步。
5.停用所有WordPress插件
有时,WordPress插件可能彼此冲突或与WordPress核心冲突。这可能会导致意外行为,并且可能是无效JSON错误的潜在原因。
只需转到“插件»已安装插件”页面。在这里,选择所有WordPress插件,然后在“批量操作”下拉菜单下选择“停用”,单击“应用”按钮继续。
WordPress现在将停用所有已安装的插件。
如果错误消失,则表明您网站上安装的一个插件引起了该错误。
要弄清楚哪个插件,您需要一个个地启用,然后尝试重现该错误。重复此过程,直到找到罪魁祸首。
之后,您可以与插件作者联系以获得支持或找到其他插件。
6.临时切换到经典编辑器
如果上述所有步骤均失败,则可以暂时切换到WordPress的经典编辑器。
较旧的WordPress编辑器版本使用更简单的文本编辑器,并且不严重依赖REST API来获取JSON响应。
要使用它,您需要安装并启用Classic Editor插件。
该插件开箱即用,启用后将禁用Gutenberg编辑器。
现在,您可以继续在网站上工作,稍后再返回故障排除。
7.进一步故障排除
许多事情会阻止WordPress REST API或使其返回无效的JSON响应。我们已经解决了上面最可能的问题,但是,如果这不能解决您的问题,那么您可以尝试其他一些步骤。
切换到WordPress默认主题
有时,您的WordPress主题与插件或WordPress核心之间的冲突可能会导致意外行为。
您可以通过简单地切换到默认的WordPress主题(例如TwentyTwentyOne或Twenty-Twenty)来进行测试。
暂时关闭网站应用程序防火墙
如果您使用了Sucuri,Cloudflare或插件之类的WordPress防火墙,则它们有时也可能会阻止合法请求。
解决此问题的最简单方法是暂时禁用WordPress防火墙插件或服务。
只需停用插件即可禁用某些应用程序级WordPress防火墙。对于Sucuri和Cloudflare等DNS级别的防火墙,您可以从帐户仪表板中将其禁用。
启用WordPress调试
WordPress内置debug功能,可让您记录错误日志。但是,默认情况下未启用它。
要打开它,您需要将以下代码添加到wp-config.php文件中:
define( ‘WP_DEBUG_LOG’, true );
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
之后,WordPress会将所有错误的日志保存在/wp-content/文件夹中的debug.log文件中。您可以使用FTP客户端访问此文件。
错误日志可能会为您提供有关导致网站上无效JSON错误的原因线索。
寻求专家帮助
最后,如果其他所有方法均失败,则可能是由于WordPress服务器配置错误。一些可靠的WordPress网站服务器托管公司可能会帮助用户解决诸如此类的常见WordPress问题。
只需通过实时聊天或支持工单与他们联系,他们便可以帮助您解决问题。
我们希望本教程能帮助您学习如何修复WordPress所出现的无效JSON错误。