今天,我在WordPress中遇到问题。当我尝试创建新页面并在WordPress管理部分中上传新图像时,我试图找出解决方案,但是我没有得到...所以打了一个小时后,我得到了解决方案... < / p>
“发布失败。错误消息:该响应不是有效的JSON响应。”
答案 0 :(得分:6)
如前所述,更改永久链接设置可以解决我的问题。如果您将“帖子名称”保留为永久链接设置,则.htaccess文件需要可通过wordpress写入。
或者,也可以将以下内容粘贴到.htaccess文件的底部。首先从文件底部开始执行Mod_rewrite更改。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 1 :(得分:5)
我在本地开发环境中遇到了同样的问题,发现该问题是由于重写权限所致。确保您的.htaccess文件具有适当的权限。
sudo chmod 755 .htaccess
设置权限后,保存永久链接设置。如果问题仍然存在,请确保启用了mod_rewrite。以下将适用于Ubuntu上的apache2。
sudo a2enmod rewrite
sudo systemctl apache2 restart
如果仍然无法正常工作,则您的apache配置可能太严格了。以下应该在Ubuntu上为apache2做到这一点。编辑/etc/apache2/apache2.conf并查找根目录块。通常是带有/ var / www的代码,如下所示。您可能会看到AllowOverride None。只需将其更改为“本地所有,如下所示”即可,但是您可能希望进行一些研究,并在生产服务器上更加安全。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
进行更改后,请再次在apache上重新启动,一切都应该很好。
sudo systemctl apache2 restart
答案 2 :(得分:5)
现在,您可以使用 Classic Editor 插件来解决此问题。
该错误的答案是我不知道的编辑器,但是有一个新的编辑器问题。如果您遇到相同的问题,请使用以下插件。为了解决这些问题,我正在就此问题进行研发。如果我得到退出解决方案,那我会尽快进行更新...
答案 3 :(得分:4)
也许您遇到一个安全问题,其中包含混合内容(HTTP和https URL)。 第1步 1. 1.检查您的Wordpress URL。转到设置->永久链接,然后单击普通并保存页面。然后删除错误
第2步
这为我解决了问题
答案 4 :(得分:3)
转到设置>永久链接。选择“帖子名称”并保存。
尝试更新您的帖子/页面。如果不起作用,请尝试在设置>永久链接中选择另一个选项。
答案 5 :(得分:1)
我刚刚安装了经典编辑器插件,它解决了“响应不是有效的JSON响应”问题。
答案 6 :(得分:1)
当尝试发布我的内容时,我遇到了同样的“无效的JSON响应”错误。发布新帖子/页面时,WordPress似乎在发布JSON帖子,因此我在开发人员工具中选中了“网络”标签。如果选中此JSON调用的“响应”标签,则可能会看到有关此无效JSON响应的更多详细信息。
就我而言(您可能有所不同),在实际的JSON数据之前输出了一些已弃用的调试消息,并弄乱了响应。修复不推荐使用的消息后,发布再次起作用。
<br />
<b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>Unknown</b> on line <b>0</b><br />
{__NORMAL_JSON_DATA_HERE__}
答案 7 :(得分:1)
导航到设置> 永久链接。选择永久链接结构以过帐名称并保存。现在尝试保存您的帖子/页面。
在这里,我分享了此屏幕截图供您参考。
该问题应该已经解决。
问题解决后,您可以根据需要在“永久链接”中选择一个旧选项。
注意:如果您已经选择了发件人姓名,则需要选择其他选项来重置永久链接。
答案 8 :(得分:0)
由于不同的原因,我与我的一位客户遇到了同样的问题,但从未将其视为潜在的解决方案。
如果您启用了 W.A.F(如 cloudflare 或类似的),副作用之一可能是此错误,因此如果其他解决方案均无效,请务必禁用以禁用您的 waf。
答案 9 :(得分:0)
我遇到了持续存在的问题。在我找到解决方案之前,我替换了 PHP 8,因为这是自定义 PHP 安装。
但没有任何效果。
解决方案是在 Drupal 安装过程中找到的。
httpd.ini
文件中出现了 3 次 Mod Rewrite,他们又改成None
到All
none
all
这是小写字母,最后一个None
到All
< /p>
使用 httpd -k restart
重新启动 httpd(CMD 作为管理员)
这解决了。
答案 10 :(得分:0)
我的一些自定义插件中有一些回声,所以这也是导致这个问题的原因。
答案 11 :(得分:0)
现在,这里有两个服务器块,第一个在端口80上运行。 对于第二个服务器块,有一个端口443,您应在其中实现以下代码。
服务器{
#ssl配置
位置/ {
#首先尝试将请求作为文件,然后
#作为目录,然后退回到显示404。
#try_files $ uri $ uri / = 404; //对此块发表评论
try_files $ uri $ uri / /index.php$is_args$args;
}
}
现在退出并重新启动Nginx服务器。
〜$ sudo服务nginx重新启动
您完成了。享受。
答案 12 :(得分:0)
转到 / etc / nginx / sites-available / 打开默认文件-> sudo vi default 或 sudo nano default
将以下行添加到位置:
添加评论: #try_files $ uri $ uri / = 404;
添加此行: try_files $ uri $ uri / /index.php?$args;
请参见下面用红线描述的屏幕截图:
答案 13 :(得分:0)
我的问题与 .htaccess 有关。我从LucasBr的评论中得到了有关“ .htaccess配置问题”的提示。由于我已将站点复制到本地开发环境。我需要更新自定义mod_rewrite设置以匹配我的设置。
重要的几行是:
RewriteBase /
和
RewriteRule . /index.php [L]
以前已将它们设置为访问子目录站点。
答案 14 :(得分:0)
添加和/或更新页面时,除了各种其他随机错误之外,我一直收到相同的错误消息。我在本地开发服务器和Webhost上都收到错误消息。当更改为默认主题之一(例如29个)时,错误就会消失。对我来说,问题出在我的页面模板文件中。我注意到,当为新创建的页面选择模板时,我会选择多个具有相同名称的选项。
我有几个页面模板文件(例如about-page.php,contact-page.php,services-page.php等)。创建这些文件时,由于大多数页面都是相似的,因此我只需要从现有文件中复制/粘贴即可创建新的xxxx-page.php文件。但是,在其中一些复制的文件(不是全部)中,我忘记了修改“模板名称”(在文件顶部)。
检查完所有模板文件都具有唯一的名称后,JSON错误消失了。我所有其他错误也都消失了。我正在使用Wordpress 5.4。
答案 15 :(得分:0)
我也遇到同样的错误,在我的情况下,原因是页面中使用了短代码,而定义该短代码的函数是使用'echo'输出数据而不是使用'return'
答案 16 :(得分:0)
看起来仍然没有得到解决。
一个对我有用的解决方法(发布以防其他人使用)-就我而言,我使用的是导致问题的HTML块。我所做的就是添加一个Paragraph块> Edit as HTML。它现在解决了这个问题。可惜的是WP尚未调查它,好像它已经发生了一段时间。
答案 17 :(得分:-1)
尝试删除所有到WordPress网站的重定向,包括子域。
答案 18 :(得分:-1)
如果您在上传图片时遇到问题,请遵循以下步骤:https://navinrao.com/the-response-is-not-a-valid-json-response/
我也在更新普通文字时遇到了这个问题。 我遇到的问题是由于链接()中有 javascript:void(0)关键字引起的。
请确保您的内容是否包含包含javascript的关键字 在更新之前。
tidyr::pivot_longer(df, cols = -ID,
names_to = c(".value", "meas_type"),
names_pattern = "(.*)(\\d+)")
# A tibble: 30 x 4
# ID meas_type meas unc
# <int> <chr> <dbl> <dbl>
# 1 1 1 150. 0.0381
# 2 1 2 1271. 0.0606
# 3 1 3 601. 0.103
# 4 2 1 20.0 0.0915
# 5 2 2 563. 0.0614
# 6 2 3 1675. 0.102
# 7 3 1 161. 0.0354
# 8 3 2 941. 0.0607
# 9 3 3 609. 0.103
#10 4 1 103. 0.0433
# … with 20 more rows
删除 javascript:void(0)之后;它工作正常。 祝您玩得愉快:)
答案 19 :(得分:-1)
这是永久链接错误。
执行以下步骤来解决此问题(具体取决于您的情况):https://wordpress786.com/updating-failed-error-message-the-response-is-not-a-valid-json-response/:
settings > permalinks
并再次保存它们