[英]How to pass data to PHP via AJAX POST
我试图通过 AJAX 将数据传递到 PHP 文件,但它返回 NULL。
这是 AJAX 代码(所有“val()”都正确获取值 [我已经测试过]):
$.ajax({
url: '../utilities/atualizar_ferias.php',
method: 'POST',
cache: false,
contentType: false,
processData: false,
data: {
data_inicio: inicio_target.val(),
data_fim: fim_target.val()
},
success: function(resultado){
console.log(resultado);
}
})
这是接收数据的 PHP 代码:
<?php
$dados = filter_input_array(INPUT_POST, FILTER_DEFAULT);
var_dump($dados);
有谁知道我为什么收到 NULL?
您的 PHP 脚本没有返回任何类型的有效 JSON。它只是对 filter_input_array 的结果进行 var_dump。 根据 function 上的 文档,返回值如下:
返回值
成功时包含所请求变量值的数组。 如果未填充由类型指定的输入数组,如果未给出 FILTER_NULL_ON_FAILURE 标志,则 function 返回 null,否则返回 false。 对于其他失败,返回 false。
如果过滤器失败,则数组值为 false,如果未设置变量,则数组值为 null。 或者,如果使用标志 FILTER_NULL_ON_FAILURE,则如果未设置变量则返回 false,如果过滤器失败则返回 null。 如果 add_empty 参数为 false,则不会为未设置的变量添加数组元素。
我建议您在浏览器中检查作为对服务器 POST 操作的响应返回的内容。 你应该看到它是PHP var_dump function的 output 是无效的 JSON,所以你的 JS 不会解析它。
您可能还需要在 AJAX 请求上设置选项,以指定您期望的结果类型:文本、json 等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.