当我使用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\' );
}
请帮忙,谢谢。
最合适的回答,由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\' ) ) );
}