Wordpress admin-ajax.php 400 错误请求错误
Wordpress admin-ajax.php 400 bad request error
我尝试使用 ajax 从表单发送数据。
首先,我有一个按钮“添加文件”。当我点击这个时,我在 ajax 中显示表格并且它有效。
现在,当我提交表单时,我收到来自管理员的错误错误请求-ajax.php
函数:(我的add_post.phpreturn只有echo 'test';
function add_post(){
global $wpdb;
include(dirname( __FILE__ ) . '/templates/includes/add_post.php');
die();
}
add_action( 'wp_ajax_add_post', 'add_post' );
add_action( 'wp_ajax_nopriv_add_post', 'add_post' );
HTML :
<form class="form-horizontal" name="form" id="addNewPost" method="post" enctype="multipart/form-data">
<input type="hidden" name="ispost" value="1" />
<input type="hidden" name="userid" value="" />
<input type="hidden" name="catid" value="<?php echo $catID; ?>" />
<label class="control-label">Nom du fichier</label>
<input type="text" class="form-control" name="titre" />
<label class="control-label">Image à upload</label>
<input id="upfile" type="file" name="sample_image" class="form-control" />
<input type="submit" class="btn btn-primary" id="testsub" value="Envoyer" name="submitpost" />
</form>
JS 文件:
$("#testsub").on('click', function(e){
e.preventDefault();
var formData=new FormData(document.getElementById('addNewPost'));
formData.append("action", "add_post");
$.ajax({
url: ajaxurl.ajaxurl,
type: 'POST',
data: {
'action': 'add_post',
'data': formData
},
cache: false,
processData: false,
contentType: false,
}).done(function(response) {
$('.test').html(response);
});
});
如果我尝试只发送没有文件的输入值,我的 ajax 可以工作。你能帮帮我吗?
从代码中删除这一行:
data: {
'action': 'add_post',
'data': formData
},
并使用这个:
data: formData,
我尝试使用 ajax 从表单发送数据。 首先,我有一个按钮“添加文件”。当我点击这个时,我在 ajax 中显示表格并且它有效。
现在,当我提交表单时,我收到来自管理员的错误错误请求-ajax.php
函数:(我的add_post.phpreturn只有echo 'test';
function add_post(){
global $wpdb;
include(dirname( __FILE__ ) . '/templates/includes/add_post.php');
die();
}
add_action( 'wp_ajax_add_post', 'add_post' );
add_action( 'wp_ajax_nopriv_add_post', 'add_post' );
HTML :
<form class="form-horizontal" name="form" id="addNewPost" method="post" enctype="multipart/form-data">
<input type="hidden" name="ispost" value="1" />
<input type="hidden" name="userid" value="" />
<input type="hidden" name="catid" value="<?php echo $catID; ?>" />
<label class="control-label">Nom du fichier</label>
<input type="text" class="form-control" name="titre" />
<label class="control-label">Image à upload</label>
<input id="upfile" type="file" name="sample_image" class="form-control" />
<input type="submit" class="btn btn-primary" id="testsub" value="Envoyer" name="submitpost" />
</form>
JS 文件:
$("#testsub").on('click', function(e){
e.preventDefault();
var formData=new FormData(document.getElementById('addNewPost'));
formData.append("action", "add_post");
$.ajax({
url: ajaxurl.ajaxurl,
type: 'POST',
data: {
'action': 'add_post',
'data': formData
},
cache: false,
processData: false,
contentType: false,
}).done(function(response) {
$('.test').html(response);
});
});
如果我尝试只发送没有文件的输入值,我的 ajax 可以工作。你能帮帮我吗?
从代码中删除这一行:
data: {
'action': 'add_post',
'data': formData
},
并使用这个:
data: formData,