分享笔记:

此响应不是合法的JSON响应

JSON响应错误的不同解决方案

文章目录

发布失败 此响应不是合法的JSON响应

此响应不是合法的JSON响应,说实话我很少见,因为我大多数客户都是选择直接使用国外的虚拟主机建站,通常不会出现这个问题。它主要出现在购买国内各大服务商云空间自己搭建宝塔的情况下。

这个报错会在我们想要发布页面或文章时出现。下面我们来看看几个可能出现 “发布失败。-此响应不是合法的 JSON 响应” 的解决方法。

1. 宝塔设置伪静态

如果你是用宝塔搭建WordPress的话,那么出现不是合法的 JSON 响应 99% 的可能就是因为你没有设置伪静态

操作很简单,去到宝塔界面,找到出现问题的网站点设置,找到伪静态在上面的下拉单里找到wordpress保存即可,现在你大概率发布页面文章是没有问题的了。

宝塔添加wordpress伪静态

我把WordPress伪静态代码放这了,你要是需要手动操作的话复制下就行。

location /
{
	 try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

如果这个方法对你没有或者你不是用宝塔搭建网站的,那么解决方法可能在下面几种里。

2. 关闭自带的古腾堡编辑器

这个问题出现的原因是因为古腾堡(Gutenberg)要用到 WordPress 的 API REST,可是服务器屏蔽了它。居然这样,那么方法之一就是关闭古腾堡编辑器,当然前提你不打算用它。

//禁用古腾堡编辑器
add_filter('use_block_editor_for_post', '__return_false');
remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );

把这个代码通过 Code Snippets 代码插件插入或者直接放在你主题编辑器里面的 function.php 上。

3. 关闭 WordPress API REST

另外一条路就是关闭 API REST,这个可以直接通过插件像这个。如果你有装安全插件其实大多数都是有自带这个功能的,你可以找找。又或者你安装了优化插件,它们也有带的。

关闭 wordpress api rest
Admin and Site Enhancements 优化插件

像 Admin and Site Enhancements,它就自带关闭古腾堡和关闭 REST API 功能。

4. 禁用全部插件

WordPress出现的问题一半以上都是插件的问题,所以你可以试试全部禁用看看有没有解决,如果是这样的话,再一个个开起来,看看是哪个的问题。

5. 更新网站固定链接

去到后台设置 > 固定链接 > 不需要做任何操作,直接点保存更新。

为什么要这么做?因为WordPress的链接创建取决于服务器的 rewrite,有时候需要保存更新一下来“提醒”它,保存更改后,在服务器上会创建一个“干净”的 .htaccess 文件。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

一个干净的 .htaccess 是上面这个样子。

6. Cloudflare SSL 完全模式

如果你在用 Cloudflare 的内容分发网络提高网站速度的话,那么你可能得看看 SSL 加密模式是不是完全的。

cloudflare-ssl-完全模式

为笔记评分

平均评分 5 / 5. 摘星者: 4

有疑问?留个言吧!

更多结果...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

更多结果...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors