我试图将一些数据发送到一个PHP文件但由于某种原因它没有被发布。我在var_dump
上的php文件的控制台日志中收到一个空数组
这是我在这些文件中的代码:
的index.php
<button type="button" class="btn btn-warning" id="resetPassword">Reset Password</button>
<script>
$(document).ready(function (e){
$("#resetPassword").click(function(e){
e.preventDefault();
$.ajax({
url: "scripts/process.php",
type: "POST",
data: {name: 'test'},
cache: false,
processData:false,
success: function(data) {
if (data === 'Success') {
new PNotify({
title: 'Success!!!',
text: 'Request completed successfully.',
type: 'success',
styling: 'bootstrap3'
});
$('#exampleModal').modal('hide');
$('#datatable-buttons').DataTable().ajax.reload();
} else {
console.log(data);
new PNotify({
title: 'Error!!!',
text: data,
type: 'error',
styling: 'bootstrap3'
});
//document.getElementById("status").className += " alert-danger";
//$("#status").html(data);
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert("ERROR:" + xhr.responseText+" - "+thrownError);
}
});
});
});
</script>
这是php文件process.php。
var_dump($_POST);
结果在console.log中:
array(0) {}
解决方案:
删除processData: false
答案 0 :(得分:2)
删除processData:false,section然后再试一次。
答案 1 :(得分:0)
试试这个
之前或之后e.preventDefault();
var formData = $("#yourform_id").serializeArray(); //form data
并用此行数据替换数据
data: formData,
删除
processData:false,
答案 2 :(得分:0)
在process.php文件中返回数据时使用的是什么? ECHO还是退货?
尝试ECHO,如果它不起作用,则尝试RETURN语句。其余的代码似乎没问题。
要调试在scripts / process.php上使用print_r()并在浏览器的控制台中检查它是否输出。此外,您可以使用toSource of javascript来检查变量的数据
答案 3 :(得分:0)
如果您尝试None
,其需求数据是原始字符串
从
改变processData:false
进入
data: {name: 'test'},