Javascript 在Ajax成功函数中未获得响应
我是PHP和WordPress的新手。在这里,我使用Ajax调用提交表单信息,作为响应,我希望在Javascript 在Ajax成功函数中未获得响应,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我是PHP和WordPress的新手。在这里,我使用Ajax调用提交表单信息,作为响应,我希望在部分中显示一条感谢消息。在这段代码中,我能够执行function.php中的函数,但无法返回响应。函数或wordpress插入查询是否有问题?你能告诉我我犯了什么错误吗? 请帮帮我。先谢谢你 <script type="text/javascript"> $('#reg-form').submit(function () { var name = $('#name'
部分中显示一条感谢消息。在这段代码中,我能够执行function.php中的函数,但无法返回响应。函数或wordpress插入查询是否有问题?你能告诉我我犯了什么错误吗?
请帮帮我。先谢谢你
<script type="text/javascript">
$('#reg-form').submit(function () {
var name = $('#name').val();
var email = $('#signup-email').val();
var password = $('#password').val();
jQuery.ajax({
url: ajaxurl,
type: "POST",
dataType: 'json',
data: {
'action': "registration",
'name': name,
'email': email,
'password': password
},
success: function (response) {
alert("hi");
$("#signup-thanks").show();
$("#signup").hide();
}
});
});
</script>
<div class="col-sm-5 " style="margin-top: 1em" >
<div id="signup">
<form id="reg-form" method="post" >
<div class="row">
<div class="col-sm-offset-1 col-sm-10 form-group col-xs-offset-1 col-xs-10" id="form">
<input type="text" class="form-control form-text" id="name" name="organization_name" placeholder="name of NGO" required >
</div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-10 form-group col-xs-offset-1 col-xs-10" id="form">
<input type="email" class="form-control form-text" id="signup-email" name="email" placeholder="email" required >
</div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-10 form-group col-xs-offset-1 col-xs-10 " id="form">
<input type="password" class="form-control form-text" id="password" name="password" placeholder="password" required="" />
</div>
</div>
<div class="row">
<div class="col-sm-offset-1 col-sm-10 col-xs-offset-1 col-xs-10" id="btnn">
<button class="btn btn-success button-def form-text btn-font " id="registration" type="submit" name="go">Sign Up Free</button>
</div>
</div>
</form>
</div>
<div class=" row" id="signup-thanks">
<div class="col-sm-offset-1 col-sm-10 col-xs-offset-1 col-xs-10 signup-thanks-box " style="text-align: center; display: none;">
<p class=" thanks-font" style="font-size: 32px;">Thanks for signing up.</p>
<p class="font-body"> This means we'll work harder so you can start using this product.</p>
</div>
</div>
我已经用我的简单代码替换了jquery&functions.php代码 我希望这能解决你的问题 jQuery代码
<script type="text/javascript">
$('button#registration').click(function(e) {
e.preventDefault();
var name = $('#name').val();
var email = $('#signup-email').val();
var password = $('#password').val();
var data = {
'action': 'registration',
'name': name,
'email': email,
'password': password
};
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
jQuery.post(ajaxurl, data, function (response) {
alert("hi");
$("#signup-thanks div").show();
$("#signup").hide();
});
});
</script>
在ajax-success函数中,尝试console.log(响应)$b将返回什么?嘿,我现在得到响应了。但我还有一个问题。我的感谢信息部分尚未显示。请尝试以下操作:$(“#注册感谢”).css('display','block');如果你觉得我的答案有点有用,请纠正或投票。你错过了一件事,你隐藏了子div,你通过jquery显示了父div,只需在id后面加上div和空格。就像这样->$(“#注册感谢div”).show();
<script type="text/javascript">
$('button#registration').click(function(e) {
e.preventDefault();
var name = $('#name').val();
var email = $('#signup-email').val();
var password = $('#password').val();
var data = {
'action': 'registration',
'name': name,
'email': email,
'password': password
};
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
jQuery.post(ajaxurl, data, function (response) {
alert("hi");
$("#signup-thanks div").show();
$("#signup").hide();
});
});
</script>
function registration(){
global $wpdb;
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$table_name = $wpdb->prefix . 'registration';
$sql = "INSERT INTO $table_name (reg_ngo_name,reg_email_id,reg_password) VALUES
('".$name."', '".$email."','".$password."')";
$wpdb->query($sql);
exit;
}
add_action('wp_ajax_registration', 'registration');
add_action('wp_ajax_nopriv_registration', 'registration');