从指南中我已经走到了这一步:
add_action('wp_enqueue_scripts', 'do_enqueue_scripts');
function do_enqueue_scripts()
{
wp_enqueue_script('Java', plugins_url( '/js/form.js', __FILE__ ), array('jquery'), '1.0', true);
wp_localize_script( 'Java', 'start', array(
'code' => admin_url( 'admin-ajax.php' )
));
}
add_action('wp_ajax_nopriv_func', 'func');
add_action('wp_ajax_func', 'func');
function func()
{
$From = $_POST['dateTo'];
$To = $_POST['dateFrom'];
$Name = $_POST['Name'];
echo $From . " - " . $To . " - " . $Name;
die();
}
$("#form").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: start.code,
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data) {
alert(data);
}
});
}));
我的问题来自于AJAX调用。我仍然习惯了WordPress正在使用的这个动作系统,我不确定我需要将我的数据更改为。我有一个包含2个日期和名字的通用表格;什么都不疯狂但是,返回到我的AJAX调用的数据为零。
我相信我现在的问题是如何将数据返回到我的ajax或者将数据类型发送到我的PHP函数func()
。
chrome或mozilla控制台没有错误。
答案 0 :(得分:1)
使用操作名称向表单添加隐藏的输入字段,以便wp可以执行正确的功能
<input type="hidden" name="action" value="func">
将您的ajax更改为:
$("#form").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: start.code,
type: "POST",
data: $(this).serialize(),
cache: false,
success: function(data) {
alert(data);
}
});
}));