我希望下面的代码会提醒“test”,而不是提醒“testtest0”。为什么?
代码在管理页脚中运行一些javascript,它的响应只是通过函数进行响应test()
和get_test()
;
<?php
class Test_Class {
public function __construct() {
add_action( \'admin_footer\', array( $this, \'test_js\' ) );
add_action( \'wp_ajax_test\', array( $this, \'test\' ) );
}
public function test_js() {
global $post; ?>
<script>
jQuery(document).ready(function($) {
function runTest() {
var data = {
\'action\': \'test\',
};
jQuery.post(ajaxurl, data, function(response) {
alert( response );
});
}
runTest();
});
</script>
<?php }
public function test() {
$test = $this->get_test();
echo $test;
}
public function get_test() {
$string = \'test\';
return $string;
}
}
$new = new Test_Class();
最合适的回答,由SO网友:Bruno Cantuaria 整理而成
Ajax回调应始终以die()
, 否则,它将输出您看到的0。我不知道为什么它会输出另一个“测试”