繁体   English   中英

如何通过AJAX POST向PHP传递数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM