【发布时间】:2019-04-30 13:07:30
【问题描述】:
我试图在我的插件类中调用一个 ajax 函数。但是控制台在 url/wp-admin/admin-ajax.php 上显示 400 错误
我尝试在构造函数和函数中添加 ajax 钩子(如图所示),但它们都不起作用。但是在类之外,PHP ajax 函数按预期工作。
(我对插件开发和 OOP 完全陌生......所以如果需要,请分享一些最佳实践)
class Wps_Wc_Sync {
public function get_wc_products() {
add_action( 'wp_ajax_nopriv_parseCsvAjax', array($this, 'wps_ajax_parseCsvAjax') );
add_action( 'wp_ajax_parseCsvAjax', array($this, 'wps_ajax_parseCsvAjax') );
?>
<script>
jQuery( document ).ready(function($) {
console.log('ajax');
parseCsvAjax(0);
function parseCsvAjax(lastfile = 0) {
$.ajax({
type: "POST",
dataType: 'json',
url: '/wp-admin/admin-ajax.php',
data: {
action: 'parseCsvAjax',
lastfile: lastfile,
},
success: function (data) {
console.log(data);
},
error: function (jqXHT, textStatus, errorThrown) {console.log('Error');}
});
}
});
</script>
<?php
public function wps_ajax_parseCsvAjax($lastfile = 0) {
echo 'testAJAX1';
exit();
return true;
}
}
}
【问题讨论】: