我的url查询字符串是http://website.local/residences/?status=status2&type=apartments&price=null
当我从我的页面模板中回显$_GET ['status']时,我得到了'status 2',这显然是正确的。但是我试图从我的functions.php中得到这个值,它返回false。我正在使用 AJAX 用下面的函数加载更多的帖子。它应该用$_GET为税务查询得到这个状态值。不知道为什么它只在我的functions.php中返回false。
有什么想法吗?
第一个
2条答案
按热度按时间e7arh2l61#
$_GET
不会像您期望的那样工作,因为您试图将其放入 AJAX 回调函数中。http://website.local/residences/?status=status2&type=apartments&price=null
在上面的url中,只有在加载该url时才能获取参数,但是一旦加载了该url并调用了WP AJAX ,url就会变成
http://website.local/wp-admin/admin-ajax.php
,其中没有$_GET
的参数因此,您必须在页面加载时收集
$_GET
,然后将这些$_GET
值存储到js对象或HTML数据属性中,然后您需要将这些值传递给js,然后将这些变量作为$_POST
传递,并在 AJAX 回调函数中使用$_POST
收集它们。b4lqfgs42#
由于您尝试将其放入 AJAX 回调函数中,因此$_GET将无法按预期方式工作。
因此,我为您提供了一个替代的解决方案,我相信这将有助于您的问题。
您可以通过将下面的函数放入JS文件来获取查询字符串。
您可以获取
let status = getQueryString()["status"];
之类的查询字符串的值,并在 AJAX 调用中将其传递给data
。现在,您可以在 AJAX 调用中获取值。