我正在使用一个有Ajax问题的Woocommerce网站。每当我尝试运行wc-ajax函数时,我都会在div中出现格式错误的json错误或整页重新加载。
我在woocommerce / includes / class-wc-ajax中看到,通过检查wc-ajax的$ _GET变量来定义AJAX。代码如下所示:
add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
public static function define_ajax() {
if ( ! empty( $_GET['wc-ajax'] ) ) {
if ( ! defined( 'DOING_AJAX' ) ) {
define( 'DOING_AJAX', true );
}
if ( ! defined( 'WC_DOING_AJAX' ) ) {
define( 'WC_DOING_AJAX', true );
}
// Turn off display_errors during AJAX events to prevent malformed JSON
if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
@ini_set( 'display_errors', 0 );
}
$GLOBALS['wpdb']->hide_errors();
}
}
我发送请求的网址是/ checkout-2 /?wc-ajax = update_order_review。所以,如果我打印$ _GET,我希望它看起来像这样:
$_GET['wc-ajax'] = "update_order_review"
但是,我得到了这个:
$_GET['q'] = "/checkout-2/?wc-ajax=update_order_review"
有没有人遇到过这样的事情,或者有任何想法会改变$ _GET的默认功能?或者至少是我理解的默认功能。
谢谢!