【发布时间】:2022-01-05 23:41:38
【问题描述】:
我知道有很多问题要问,但也许有人可以快速查看这个废弃的 WordPress 插件的文件,它不能正常工作。 Ajax 发布数据导致一个空数组,因此脚本因错误而终止。我猜 WordPress 中的某些东西发生了变化,这使得这个脚本现在失败了。我发现Ajax 调用Action
mbh_save_bounce_settings
正在发布到检查数据的函数
if(isset($_POST['data']['bounce']) && is_array($_POST['data']['bounce'])){
上述语句不正确,因为数组$_POST['data']['bounce']) 为空,因此以“else”部分的自定义错误结尾。来自 ajax 调用的数据本身
'data': settings_data,
正在控制台日志中工作。但它没有进入 if 语句。 控制台中没有显示错误。不在 PHP 日志中,也不在 DEV 控制台中。
这是文件:
【问题讨论】:
-
“以错误结尾”。什么样的错误?在
php方面?还是在浏览器的控制台中?您可以在问题中包含错误吗? -
在
if(isset($_POST['data']['bounce']) && is_array($_POST['data']['bounce'])){的“else”部分中显示的自定义错误,因为此声明不正确。$_POST['data']['bounce']未在 ajax 发布后设置。 -
我想知道为什么它使用
var settings_data = $(this).serializeObject();- 这似乎不是核心 jQuery 函数,但是这个插件,plugins.jquery.com/serializeObject - 并将表单数据序列化为 JSON。 PHP 不会为 JSON 输入填充 $_POST。 -
嗯,我是初学者,所以我不能说。但是在开发控制台中检查 xhr 有效负载后,我看到它显示为
data[bounce[hostname]]:- 那么这是通过isset($_POST['data']['bounce'])调用检查的正确方法吗?
标签: php jquery ajax wordpress plugins