我正在尝试获取表单数据,并通过ajax调用将其发送到wordpress。 调用通过,但变量未到达php脚本。 为什么会这样?
我已经检查过,formData包含一个变量。
这是我的js:
$(document).ready(function() {
$('form').submit(function(event) {
var formData = {'title': $('input[name=title]').val() };
$.ajax({
url: '<?php echo admin_url( 'admin-ajax.php' );?>',
data: {
action : 'my_ajax_action',
data : formData,
},
success:function(data) {
console.log(data);
},
error: function(errorThrown){
console.log(errorThrown);
},
});
event.preventDefault();
});
});
这是我的php:
add_action( 'wp_ajax_my_ajax_action', 'my_ajax_action_callback' );
function my_ajax_action_callback(){
$title =isset( $_POST['data'] ) ? $_POST['data'] : 'N/A';
echo $title;
die();
}
答案 0 :(得分:2)
默认的jQuery ajax方法是GET,所以也许这是您的问题?尝试在选项中添加方法:“ POST”:
$.ajax({
method: 'POST',
... etc