当AJAX调用函数时未定义AJAX_OBJECT

时间:2019-12-18 作者:rohithr

当我使用ajax在PHP中调用函数时,我得到了未捕获的(承诺中)引用错误:未定义ajax\\u对象

html2canvas(document.getElementById("primary")).then(function(canvas) {
                        console.log("image_base64: ", canvas);


                        var data = {
                            \'action\': \'bingogames_canvas_save\',
                            \'play_id\': play_id,
                            \'image_base64\': canvas.toDataURL()
                        };
                        jQuery.post(ajax_object.ajax_url, data, function(response) {
                            console.log(\'Got this from the server: \', response);
                        });

                    });
我的jQuery函数位于模板文件中。如何将模板文件排队?

add_action( \'init\', \'my_script_enqueuer\' );
function my_script_enqueuer() {

wp_localize_script( \'add-order-front\', \'ajax_object\', array( \'ajax_url\' => admin_url( \'admin-ajax.php\' ) ) );

 wp_enqueue_script( \'jquery\' );
wp_enqueue_script( \'add-order-front\' );

}
请帮忙,谢谢。

1 个回复
最合适的回答,由SO网友:Chetan Vaghela 整理而成

Codex 说,

重要事项!在使用wp\\u register\\u script()或wp\\u enqueue\\u script()注册脚本后,必须调用wp\\u localize\\u script()。

add_action( \'init\', \'my_script_enqueuer\' );
function my_script_enqueuer() {
  wp_enqueue_script( \'jquery\' );
  # before enqueue,if not register then register  
  wp_enqueue_script( \'add-order-front\' );
  wp_localize_script( \'add-order-front\', \'ajax_object\', array( \'ajax_url\' => admin_url( \'admin-ajax.php\' ) ) );
}