我正在开发一个wordpress插件,它将创建一个联系表单,然后通过ajax请求提交详细信息。
jQuery.ajax({
type:"post",
dataType:"json",
url: ajaxurl,
data: {action: \'submit_data\', info: info},
success: function(response) {
alert("Success");
}
});
这是处理ajax请求的函数:
add_action("wp_ajax_submit_data", "submit_data");
add_action("wp_ajax_nopriv_submit_data", "submit_data");
function submit_data() {
echo "<script> alert(\'Hello\');</script>";
die();
}
用户将单击以下链接提交表单:
$link = admin_url(\'admin-ajax.php?action=submit_data\');
<a class="button" href="\'.$link.\'" style="background-color:white;color:black;"> <strong>Submit</strong></a>
单击提交链接后,我会收到Hello警报,然后转到带有URL的空白页面
http://localhost:81/wordpress/wp-admin/admin-ajax.php?action=submit_data
为什么它会把我带到一个空白页,而不是更新当前页?
编辑-------------------------------------------------
以下是完整的jquery函数:
$(".button").click(function() {
$(".error").hide();
var name = $(":input.name").val();
if (name == "") {
$("label#nameErr").show();
$(":input.name").focus();
return false;
}
var email = $(":input.email").val();
if (email == "") {
$("label#emailErr").show();
$(":input.email").focus();
return false;
}
var phone = $(":input.phone").val();
if ((phone == "") || (isNaN(phone))) {
$("label#phoneErr").show();
$(":input.phone").focus();
return false;
}
var info = \'name:\' + name + \'&email:\' + email + \'&phone:\' + phone;
alert(info);
jQuery.ajax({
type:"post",
dataType:"json",
url: ajaxurl,
data: {action: \'submit_data\', info: info},
success: function(response) {
if (response.type == "success") {
alert("success");
}
else {
alert("fail");
}
}
});
return false;
});