我对jQuery和AJAX尤其陌生。我有一个小问题,返回值总是0,尽管我认为这实际上是成功消息,它没有返回任何内容。
我已经搜索了Google verse,在PHP回调上有die()函数,我相信add\\u操作是正确的。
我在一个本地主机上工作,但我怀疑这会影响它,这都是在管理中,而不是在前端。我还检查了js是否已排队并本地化。
我还测试了http://codex.wordpress.org/AJAX_in_Plugins 它还返回了0,这让我怀疑它是否不是下面概述的代码。
现在我只是想让它把一些东西发送回jQuery。任何帮助都将不胜感激。
jQuery
<script>
jQuery(document).ready(function() {
jQuery(".bakkah_session_registrtation").click(function(e){
e.preventDefault();
jQuery("#session_modal").slideToggle();
});
jQuery("#session_registration_form").submit(function(e){
e.preventDefault();
jQuery("#bakkah_submit_button").attr("disabled", "disabled");
var url = jQuery(this).attr("action");
var data = jQuery(this).serialize();
var obj = jQuery(this);
jQuery.ajax({
url : url,
type : "POST",
data : {action : "bakkah_register_session", data : data},
success : function(response){
jQuery(".message_register_bakkah").html(response);
jQuery("#bakkah_submit_button").removeAttr("disabled");
obj[0].reset();
console.log (response);
},
error: function(response) {
console.log(response);
}
});
});
});
jQuery("#course_select").change(function(){
var course = jQuery(this).val();
if(course == ""){
jQuery("#session_select").attr("disabled", "disabled");
jQuery("#session_select #default_session").attr("selected", "selected");
}else{
jQuery("#session_select").removeAttr("disabled");
jQuery("#session_select option").each(function(){
jQuery(this).prop("disabled", true);
});
jQuery("#session_select option").each(function(){
if(parseInt(jQuery(this).attr("var")) == parseInt(course)){
jQuery(this).prop("disabled", false);
}
});
}
});
</script>
PHP:add_action(\'wp_ajax_bakkah_register_session\', \'bakkah_register_session\');
add_action(\'wp_ajax_nopriv_bakkah_register_session\', \'bakkah_register_session\');
function bakkah_register_session(){
global $wpdb;
$data = array();
parse_str($_POST[\'data\'], $data);
$insert = $wpdb->insert(
$wpdb->prefix."bakkah_course_session_registration",
$data
);
wp_die();
}