如何修复WordPress网站提示’The Invalid JSON Error’错误

 

错误类型:
其他错误
错误名称:
无效JSON错误
英文名称:
The Invalid JSON Error
错误描述:
无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。

在WordPress网站上编辑文章或页面时,你是否曾经遭遇过 ‘The response is not a valid JSON response’ 这样的错误。

在本教程中,我们将详细说明如何修复WordPress中的无效JSON错误。我们还将讨论为什么会发生此错误,以及将来如何避免该错误。

jsonresponsenotvaliderror-og.pngo_

什么导致WordPress出现 ‘Not a Valid JSON Response’ 错误?

无法从服务器接收到预期的响应会导致WordPress发生 ‘Not a Valid JSON Response’ 错误。

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

如果由于某种原因,WordPress无法获取响应,或者响应不是JSON格式,那么您将看到 ‘Not a Valid JSON Response’ 错误,如下图所示。

notvalidjsonresponse.pngo_

出现此错误的原因有很多。

  • 网站 URL 设置不正确。不匹配的 WordPress 网站地址设置会破坏 JSON 响应。
  • 插件冲突。不兼容或编码不良的 WordPress 插件可能会干扰 JSON 响应。
  • 服务器配置问题。服务器端问题或资源不足可能导致此错误。
  • SSL/ 混合内容问题。来自 HTTP 和 HTTPS 元素的混合内容会妨碍正常的 JSON 通信。
  • 固定链接结构问题。不正确的永久链接设置会影响 URL 的处理方式,从而导致 JSON 错误。

但是,最有可能的原因是WordPress中的网址设置不正确或固定链接失效。

下面让我们一起看看应该如何修复WordPress所出现的无效JSON错误。

重要提示:在对网站进行更改前,请进行执行WordPress备份。以防出现问题,可快速将网站还原到以前的状态。

排除JSON响应无效错误的方法

1. 检查WordPress的链接设置

首先,您需要确保WordPress地址和站点地址设置正确。

转到设置»常规页面。即可查看WordPress地址(URL)和站点地址(URL)字段。

wordpressurlsettings.pngo_

对于大多数网站,此设置的两个字段应该对应相同的URL。

但是,也有少部分站长给WordPress设置指定的目录,并在其他地址上为网站提供服务。在这种情况下,两个URL地址可能不同。

但是,如果站点地址不正确,这会导致WordPress触发无效的JSON错误。

如果是因为WordPress地址和站点地址设置错误问题,修正并保存更改后。再次编辑博客文章,查看是否添加任何新区块或保存该文章,看是否会触发 ‘Not a Valid JSON Response’ 错误。

如果仍然看到错误,请往下看。

2. 修复WordPress固定链接结构

WordPress带有SEO友好的URL结构,这样对文章和页面使用人类可读的URL。

但是,有时用户可能会弄​​乱固定链接设置。这可能导致WordPress编辑器无法获得有效的JSON响应并导致显示错误。

要解决此问题,您只需访问设置»固定链接页面。在这里,您需要仔细查看固定链接选项。

permalinks.pngo_

如果不确定是否使用正确的设置,则只需选择可用的默认格式之一。

之后,继续并单击“保存更改”以存储您的设置。

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

3. 重新生成htaccess文件

WordPress中的.htaccess文件用作配置文件,用于管理SEO友好的URL(固定链接)。

通常,WordPress可以自动重新生成和更新它。您还可以通过单击“设置”»“固定链接”页面底部的保存更改”按钮来触发该更新。

但是,有时它可能无法更新或设置不正确。这会影响您的WordPress固定链接,还可能导致无效的JSON响应错误。

要解决此问题,您需要使用FTP客户端或WordPress托管帐户信息中心中的文件管理器应用程序连接到您的网站。

连接后,您需要在网站的根文件夹中找到.htaccess文件,并将其下载到本地计算机。

downloadhtaccess.jpgo_

提示:无法找到.htaccess文件?参考如何查找.htaccess文件这篇文章。

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

edithtaccess.jpgo_

打开文件后,替换为以下代码:

# 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. 修复任何WordPress混合内容错误

当网站加载 HTTP 和 HTTPS 元素时会出现混合内容,这可能会导致安全和功能方面的问题。

在 WordPress 中,混合内容会破坏编辑器和服务器之间的通信,因为浏览器会阻止所谓安全页面上的非安全请求。修复混合内容可确保安全加载所有元素,解决潜在的 JSON 错误。

指南如下:

  1. 安装一个插件,如 Really Simple SSL 或 Better Search Replace。这些插件可以检测数据库中的混合内容警告,并将 HTTP URL 转换为 HTTPS。

wordpress-dashboard-better-search-replace-1024x854-1.pngo_

  1. 检查主题文件、小工具、图片和其他内容区域是否有硬编码的 HTTP 链接,并手动将其更新为 HTTPS。
  2. 使用缓存插件清除 WordPress 缓存,确保正确应用新设置。

5. 查看Rest API调试日志

无效的JSON响应错误也可能意味着WordPress的REST API遇到错误。REST API是当您在网站上工作时WordPress用于与服务器通信的一组技术。

您可以在WordPress网站运行状况工具中查看此错误的详细信息。访问工具»站点健康页面。

restapierror.pngo_

在此处,您可能会看到一个标记为 ‘The REST API encountered an unexpected result’ 的问题。单击问题将会显示更多详细信息,这可能会给您一些提示,指出哪些插件或第三方服务可能会导致此问题。

WordPress REST API 使编辑器能够与服务器通信,并执行保存和发布内容等任务。如果 REST API 被阻止或出现故障,编辑器就无法收到有效的 JSON 响应。

查看 REST API 调试日志可帮助你找出导致此错误的任何潜在问题。请按照以下说明查看调试日志:

  1. 通过 FTP 或托管提供商的文件管理器访问 WordPress 网站的根目录。
  2. 打开 wp-config.php 文件,在“That’s all, stop editing! Happy publishing!”一行,以启用调试和日志功能:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    file-manager-public-html-wp-config-php-wp-debug-highlighted-1024x1017-1.pngo_ 完成后,保存更改。

  3. 进入 WordPress 编辑器,尝试更新内容以触发错误并生成日志条目。
  4. 访问网站根目录下的 wp-content 目录。然后找到 debug.log 文件并打开,查看日志条目。 file-manager-public-html-wp-content-debug-log-highlighted-1024x549-1.pngo_
  5. 在该文件中查找与 REST API 相关的条目。这些条目可能会提供导致 JSON 错误的线索,例如 SSL 证书问题、服务器配置问题或请求受阻。

6. 停用所有WordPress插件

有时,WordPress插件可能彼此冲突或与WordPress核心冲突。这可能会导致意外行为,并且可能是无效JSON错误的潜在原因。

只需转到“插件»已安装插件”页面。在这里,选择所有WordPress插件,然后在“批量操作”下拉菜单下选择“停用”,单击“应用”按钮继续。

deactivateallplugins.pngo_-1

WordPress现在将停用所有已安装的插件。

如果错误消失,则表明您网站上安装的一个插件引起了该错误。

要弄清楚哪个插件,您需要一个个地启用,然后尝试重现该错误。重复此过程,直到找到罪魁祸首。

之后,您可以与插件作者联系以获得支持或找到其他插件。

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

在努力解决无效 JSON 响应错误的同时,还有一些临时解决方案可以继续不间断地更新内容。这些方法有助于绕过问题,在应用永久性修复之前提供一种变通方法。

使用经典编辑器插件

顾名思义,经典编辑器插件可以让你使用以前的经典编辑器。它对 WordPress REST API 的依赖性较低,可以帮助避免块编辑器的问题。具体方法如下:

  1. 在仪表盘中,转到插件 → 安装新插件
  2. 搜索 Classic Editor 插件,安装并点击启用

wordpress-dashboard-add-plugin-activate-highlighted-1024x445-1.pngo_

  1. 激活后,它将取代 WordPress 区块编辑器。再次尝试编辑内容,看看问题是否得到解决。

wordpress-dashboard-edit-post-1024x532-1.pngo_

直接上传媒体文件

如果在块编辑器中上传图片或文件时出现 JSON 错误,作为临时解决方案,您可以直接通过媒体库上传媒体:

  1. 导航至媒体 → 添加文件
  2. 在此上传文件,然后将它们插入到文章或页面中。

wordpress-dashboard-upload-new-media-1024x447-1.pngo_

8. 进一步故障排除

许多事情会阻止WordPress REST API或使其返回无效的JSON响应。我们已经解决了上面最可能的问题,但是,如果这不能解决您的问题,那么您可以尝试其他一些步骤。

切换到WordPress默认主题

有时,您的WordPress主题与插件或WordPress核心之间的冲突可能会导致意外行为。

您可以通过简单地切换到默认的WordPress主题(例如TwentyTwentyOne或Twenty-Twenty)来进行测试。

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

防火墙通过阻止可疑请求来 保护WordPress网站免受恶意攻击。不过,出于安全原因,它们也可能阻止来自 WordPress 编辑器的合法请求,导致类似无效 JSON 响应这样的错误。

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

只需停用插件即可禁用某些应用程序级WordPress防火墙。对于Sucuri和Cloudflare等DNS级别的防火墙,您可以从帐户仪表盘中将其禁用。

暂时禁用安全防火墙可以确定它是否是问题的根源。请按照以下步骤操作:

  1. 如果使用 Wordfence、Sucuri 或 iThemes Security 等防火墙插件,请暂时停用。
  2. 使用 Cloudflare AWS WAF 等网络应用程序防火墙 (WAF) 的用户可以访问 WAF 网站,打开设置,暂时禁用或将其设置为“学习模式”。
  3. 如果您的主机提供商有服务器级防火墙,请访问控制面板并将其关闭。
  4. 返回 WordPress 编辑器,尝试保存或发布内容。如果错误已经解决,则说明是防火墙造成的。
  5. 重新启用防火墙并调整其设置,允许有效请求而不阻止它们。如果您需要帮助,请联系您的插件、WAF 或主机提供商的支持团队寻求帮助。

启用WordPress调试

WordPress内置debug功能,可让您记录错误日志。但是,默认情况下未启用它。

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

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

之后,WordPress会将所有错误的日志保存在/wp-content/文件夹中的debug.log文件中。您可以使用FTP客户端访问此文件。

错误日志可能会为您提供有关导致网站上无效JSON错误的原因线索。

小结

WordPress 的 JSON 响应无效错误可能由几个问题引起,如不正确的 URL 设置、插件冲突或服务器配置问题。

本文提供了几个故障排除步骤,从检查永久链接和禁用插件到修复混合内容和查看 REST API 调试日志。有条不紊地实施这些解决方案,找出根本原因并解决此 WordPress JSON 错误。

如果问题仍然存在,请考虑联系 WordPress 专业人员寻求进一步帮助。如果您有任何问题或解决此问题的技巧,请使用下面的评论框。

常见问题

什么是WordPress中的JSON响应?

WordPress中的JSON响应是服务器和浏览器之间交换的数据,特别是在编辑器中。WordPress 使用 JSON 通过 REST API 进行通信,以完成保存和发布内容等任务。

如何处理JSON响应错误?

要处理 JSON 响应错误,请检查 URL 设置、永久链接、插件和服务器配置。然后,按照停用插件、查看 REST API 调试日志和调整安全设置等故障排除步骤解决问题。

如何检查JSON是否有效?

要检查 JSON 是否有效,请使用 JSONLint 等在线工具或 Google Chrome 浏览器的网络选项卡等浏览器开发工具。复制 JSON 响应,将其粘贴到工具中,然后进行验证。该工具会突出显示 JSON 结构中的错误,以便更正。

文章网址:https://www.wpbull.com/jiqiao/4761.html