我经常使用ajax,而且没有任何问题。这一次,我试图在wp admin中使用ajax,只有他们的aka,这不是一个“nopriv”问题。
这是在我正在编写的插件中使用的。
For some reason i am getting a 0 returned.
由于js文件在php文件中排队,因此找不到文件就不可能了。在wp admin中使用ajax时,应该如何编写ajax,我想我缺少了一些东西?
Here is the JS file:
jQuery(document).ready(function($) {
$(\'#sgxcsParentTax\').change(function() {
var selected = $(this).val()
$.post(ajax_object.ajaxurl, {
action: \'action_sgxtax_chainedselect\',
selected: selected
}, function(data) {
var $response = $(data);
var cats = $response.filter(\'#cats\').html();
// HANDLE SUCCESS >>
if(cats) {
$(this).append(cats);
}
});
});
});
Here is the PHP file: wp_enqueue_script( \'ajax-sgxtax-chainedselect\', plugin_dir_url(__FILE__).\'/ajax-taxonomy_chained_selector.js\', array(\'jquery\'), 1.0 );
wp_localize_script( \'ajax-sgxtax-chainedselect\', \'ajax_object\', array(\'ajaxurl\' => admin_url( \'admin-ajax.php\' )) );
// GRAB SUB CATEGORIES
add_action(\'wp_ajax_action_sgxtax_chainedselect\', \'ajax_sgxtax_chainedselect\');
function ajax_sgxtax_chainedselect() {
echo \'I AM WORKING!\';
die();
}
有人能发现错误吗?
最合适的回答,由SO网友:Sagive 整理而成
最后,我根据我在网上找到的几个例子修改了所有代码。
p、 我得出的结论是,我的代码还可以,但不适用于wp admin中需要用于ajax的公认结构化。
无论如何
这是一个有效的版本。希望这能帮助别人
The JS
jQuery(document).ready(function($) {
$(\'#sgxcsParentTax\').change(function() {
var selected = $(this).val();
data = {
action: \'sgxcs_get_childcats\',
selected: selected
}
$.post(ajaxurl, data, function (response) {
var $response = $(response);
var childcats = $response.filter(\'#childcats\').html();
// HANDLE SUCCESS >>
if(childcats) {
$(\'#sgxcsChildTax\').html(childcats);
}
});
});
});
The Php... function get_childcats_ajax(){
echo \'I AM WORKING! (finally)\';
die();
}
add_action(\'wp_ajax_sgxcs_get_childcats\', \'get_childcats_ajax\');