AJAX(&A);“本地化”数据最初将数据从PHP传递到JS只是为了与本地化一起使用,因此函数名为。现在,人们普遍接受,可以使用它来传输数据,也可以用于AJAX调用。下面是一个关于如何“本地化”脚本别名的示例:从php获取数据到JS。
$this->handle = \'awesomescript\';
$this->action = \'awesomeaction\';
wp_enqueue_script(
$this->handle
,plugin_dir_url( __FILE__ ).\'/js/ajax.js\'
,array(
\'jquery\'
,\'jquery-ui-autocomplete\'
)
,filemtime( plugin_dir_path( __FILE__ ).\'/js/ajax.js\' )
,true
);
wp_localize_script(
$this->handle
,"{$this->handle}_obj"
,array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\' )
,\'_ajax_nonce\' => wp_create_nonce( $this->nonce )
,\'action\' => $this->action
,\'data\' => array(
\'some_key\' => $some_value
,\'other_key\' => $some_other_value
)
,\'debug\' => $this->debug_js
)
);
\\u注意:这是从我的一个插件的类中获取的,因此您必须替换
$this->foo
与你自己的部分。
如果要使用AJAX传递数据,只需注册对操作的回调(私有/管理或公共):
add_action( "wp_ajax_{$this->action}", array( $this, \'ajax_cb\' ) );
add_action( "wp_ajax_nopriv_{$this->action}", array( $this, \'ajax_cb\' ) );
然后,您可以轻松地修改结果(或执行查询或任何您想到的操作)。
在JS中检索现在您可以调用awesomescript_obj
并可以访问所有数据(包括data
容器/阵列)。