我真的不知道为什么会出现此错误。我有一个本地开发人员,我的代码可以在相同的PHP版本,相同的WordPress版本中正常工作,但后来在我的暂存开发人员中得到了它。
警告:array_merge():参数#2不是/home/user/public_html/mydomain.com/wp-includes/load.php**第63行中的数组
我的Ajax代码很好,PHP不用担心,但是在登台站点中,Ajax返回警告和我设置的数据。
更新代码:
Ajax
jQuery.ajax({
type: 'post',
dataType: 'json',
url: loi_ajax.ajax_url,
data: {
action: 'loi_ajax_listener',
method: 'get_state_value',
state_id: state_id
},
success: function( data ){
var d = data.data;
$('#state_info_editor').find('#state_name').text(d.name+' ('+ d.id +')');
$('#state_info_editor').find('#state_id').val(d.id);
if (typeof d.page != "undefined" && d.page.length == 2) {
console.log(d.page);
$('#state_info_editor').find('#state_select option[value='+d.page+']').attr("selected",true);
}
console.log(d);
tb_show('Edit State', "#TB_inline?width=300&height=200&inlineId=state_info_editor");
}
});
PHP使用oop,所以这是方法
public static function loi_ajax_listener()
{
$return = array();
//go to spesific method
if ( isset($_REQUEST['method']) ) {
$return = self::{$_REQUEST['method']}();
}
//status should always present either success or error
wp_send_json_success($return);
exit;
}