我的wordpress插件ajax方法没有运行php方法并返回0
我让其他ajax方法正常工作,并且我遵循了与此相同的步骤,但它甚至没有运行php方法我的wordpress插件ajax方法没有运行php方法并返回0,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我让其他ajax方法正常工作,并且我遵循了与此相同的步骤,但它甚至没有运行php方法 /* * Enqueue plguin's script */ function assing_store_scripts() { wp_enqueue_script('assignStore', plugins_url( 'store-assign/assign.js', dirname(__FILE__)), array('jquery')); wp_enqueue_script('getU
/*
* Enqueue plguin's script
*/
function assing_store_scripts() {
wp_enqueue_script('assignStore', plugins_url( 'store-assign/assign.js', dirname(__FILE__)), array('jquery'));
wp_enqueue_script('getUserStores', plugins_url( 'store-assign/assign.js', dirname(__FILE__)), array('jquery'));
// ---- This one is -----
wp_enqueue_script('getStoreSettings', plugins_url( 'store-assign/assign.js', dirname(__FILE__)), array('jquery'));
// -------- End ---------
wp_enqueue_script('postStoreSettings', plugins_url( 'store-assign/assign.js', dirname(__FILE__)), array('jquery'));
}
add_action( 'admin_enqueue_scripts', 'assing_store_scripts' );
这是“assign.JS”文件上的JS方法:
这是php回调ajax方法。在这个例子中,只是一个variable POST的响应,只是为了测试,但我无法得到响应。我总是得到零“0”
/*
* Ajax
* Get Franchisee's Store Settings
*/
function getStoreSettings() {
global $wpdb;
echo json_encode($_POST);
wp_die();
}
add_action('wp_ajax_getUserStores', 'getStoreSettings');
您的
添加操作
应该是
add_action( 'wp_ajax_nopriv_getStoreSettings', 'getStoreSettings' );
add_action( 'wp_ajax_getStoreSettings', 'getStoreSettings' );
您对ajax提交的操作是
getStoreSettings
,而您在wp\u ajax\u
上定义的操作是getUserStores
,它返回0,因为您的请求正在查找从未定义的操作wp\u ajax\u getStoreSettings
像这样做
ajax数据
data: {
'action': 'getStoreSettings',
'StoreID': $this.data('storeid')
},
Ajax函数
function getStoreSettings() {
global $wpdb;
wp_send_json( $_REQUEST );
}
add_action('wp_ajax_getStoreSettings', 'getStoreSettings');
此外,您应该添加nonce验证以确保其安全性,仅当这是针对面向前端的ajax请求时。否则nopriv就不应该包括在内。谢谢,伙计,就是这样!我根本没有在前端使用这种方法。我不能,因为Symmetrics Web response的编写时间比您的早,所以我先用他们解决了我的问题。在那之后,我看到了你的回复,我写信给你只是出于礼貌。如果系统允许我选择多个响应,我会,但我不能。“对不起,伙计。”卡洛斯迪亚兹,实际上我先回答了。看看《泰晤士报》。那么,你必须问管理员,为什么你的答案出现在旧答案之后,而它必须按年代顺序排列。我标出了第一个正确答案,我发现那不是你的。天哪!!正如你所说的,这是一次勾引!!对于这种方法,我确实复制粘贴了所有内容并更改了必要的内容,但我忘记了那个。非常感谢兄弟。谢谢你给我的建议,我一定要用它。
function getStoreSettings() {
global $wpdb;
wp_send_json( $_REQUEST );
}
add_action('wp_ajax_getStoreSettings', 'getStoreSettings');