我是wordpress的新手。我在jquery中创建了一个on change事件,将我的脚本排入队列并对其进行了本地化。
当我在on change事件中输出ajax_object.ajax_url到控制台时,它一直说未定义。但当我将它输出到ajax_object到控制台时,我得到了这个
["ajax_url", "http://localhost/wordpress/wp-admin/admin-ajax.php"]
当我使用ajax_object.ajax_url时,我不明白为什么它说undefined,它真的很奇怪。以下是我正在使用的代码。任何帮助都会非常感激
function myEnqueue($hook){
if("post.php" != $hook && "post-new.php") { return; };
wp_enqueue_script("ajax-script",plugins_url("/js/meta.js",__FILE__),["jquery"]);
wp_localize_script("ajax-script","ajax_object",["ajax_url",admin_url("admin-ajax.php")]);
}
add_action("admin_enqueue_scripts","myEnqueue");
Javascript代码
jQuery(document).ready(function ($) {
$("#my_plugin_field").change(function() {//the selector and event
console.log(ajax_object);
});
});
答案 0 :(得分:0)
更改此行
wp_localize_script( 'ajax-script', 'ajax_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
答案 1 :(得分:0)
wp_localize_script('ajax-script', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
或者,如果您想使用5.4 + array
语法
wp_localize_script('ajax-script', 'ajax_object', ['ajax_url' => admin_url('admin-ajax.php')]);