簡體   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