Ajax在Wordpress中未返回成功结果
Ajax not returning success result in Wordpress
当数据库更新时,我正试图从中获取返回值。我使用AJAX通过Wordpress插件的文件夹将数据发送到functions.php中的一个函数。我试着对成功和失败函数发出警报,它总是调用失败函数。我如何知道AJAX响应是否成功,以便在成功时可以做一些额外的代码。
脚本
function removeUser( department , user ){
var value = { user_id: user , dep_name: department.id };
$('#'+department.id+ user +"_div").hide();
$.ajax({
type: "POST",
data: value
});
}
functions.php
function removeUser(){
if(isset($_POST['user_id'])){
//echo $_POST['user_id'];
//echo $_POST['dep_name'];
$user_meta = get_user_meta($_POST['user_id'], 'wpwf_quotation_position');
$user_department = json_decode ($user_meta[0]);
//print_r ($user_department);
//echo (json_encode($user_department));
foreach ($user_department as $key => $value){
if ($value == strtolower($_POST['dep_name'])){
//print_r ($user_department);
unset($user_department[$key]);
$user_department = array_values($user_department);
//print_r ($user_department);
//echo (json_encode($user_department));
//print_r (json_encode($user_department));
update_user_meta( $_POST['user_id'], 'wpwf_quotation_position', json_encode($user_department));
break;
}
//echo $key." : ". $value ." - " . strtolower($_POST['dep_name'])."<br>";
}
//echo 'ssss';
wp_send_json($_POST);
}
}
add_action('init', 'removeUser');
上面的代码运行得很好,但我实际上想做的如下,但没有调用success函数。我在这里错过了什么或者做错了什么?
function removeUser( department , user ){
var value = { user_id: user , dep_name: department.id };
$.ajax({
type: "POST",
data: value,
success:function() {
$('#'+department.id+ user +"_div").hide();
}
});
}
您应该使用浏览器控制台来调试这种事情。目前,我想说你得到了"undefined is not a function"的错误,这意味着它无法识别$,请使用安全模式jQuery(jQuery.ajax)。
此外,您还丢失了ajax调用中的url和操作。
function removeUser( department , user ){
var value = { action: 'removeUser'/*assuming this is your ajax action */, user_id: user , dep_name: department.id };
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: value,
success:function(output) {
console.log(output); // have a look at the console to find your values prob something like output.user_id
jQuery('#'+department.id+ user +"_div").hide();
}
});
}
此外,我看不出您还将php函数连接到了wp_ajax。我想你已经这么做了?
相关文章:
- Ajax正确发布表单,但不会返回成功数据
- Ajax POST返回成功,但没有;t更新JSON文件
- 在 NodeJS + AJAX&XML 上返回成功
- "navigator.msLaunchUri”;在IE Edge中,始终返回成功
- 在 require.js 中返回成功数据,并带有回调
- 我的Ajax请求返回成功,但脚本不是't已执行
- Delete方法不适用于Indexed DB HTML5.它返回成功,但未删除记录
- 如何在Firebase中更新后返回成功数据
- Ajax 调用始终返回成功
- 节点脚本需要向调用它的 Angular 服务返回成功/失败
- Ajax返回成功,但未更新数据库
- Ajax在Wordpress中未返回成功结果
- ajax返回成功,但mysql-db未更新
- jQuery对php进程表单页面的ajax调用未返回成功或错误
- 使用JQuery以不可见的方式调用URL并返回成功/错误标志
- MVC jQuery ajax GET即使在错误时也返回成功
- AngularJS:在第一个查询返回成功(不是401响应)之前不要加载视图
- 从服务器写入文件返回成功,但无法找到文件
- jquery如何返回成功和错误之类的函数
- FileReader.Onload不能及时返回成功