当Ajax请求返回400错误,并且admin-ajax.php返回'0'时,这可能是由于以下几个原因引起的:
// 获取CSRF令牌
var csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
// 添加CSRF令牌到请求头
xhr.setRequestHeader('X-CSRF-Token', csrfToken);
权限问题:请确保您有足够的权限来执行admin-ajax.php中的操作。您可以检查admin-ajax.php文件的权限设置,并确保它允许执行操作。
错误处理:尝试在Ajax请求中添加错误处理逻辑,以便在请求失败时能够捕获错误并查看详细的错误信息。您可以使用以下代码示例来添加错误处理逻辑:
xhr.onerror = function() {
console.log('请求错误');
};
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log('请求成功');
console.log(xhr.responseText);
} else {
console.log('请求失败');
console.log(xhr.status);
console.log(xhr.statusText);
}
}
};
请注意,这只是一些可能的解决方法,具体取决于您的情况。您可能需要根据实际情况进行调整和排查错误。