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