[英]passing a Javascript array into PHP
我使用JavaScript將數據從文件轉換為數組。 現在,我想使用表單中的輸入來使用PHP搜索此數組並將結果顯示在表中。 我已經閱讀了許多解決類似問題的文章,但不確定如何進行。
我已使用@Kevin_Kinsey發布的建議更新了代碼
我正在將ajax與POST一起使用,以將數組傳遞給PHP
function sendPhp(reports) {
$.ajax({
type: 'POST',
url: 'reports.php',
data: JSON.stringify(reports),
contentType: 'application/json',
dataType: 'json'
});
}
然后我用它來用PHP接收它
<?php
$json = filter_input(INPUT_POST, "data", FILTER_SANITIZE_EMAIL);
//replace FILTER_DEFAULT with appropriate filter flags, as tight as possible
$dataObject = json_decode($json);
$dataArray = json_decode($json, true);
var_dump($json);
?>
我的頁面現在在瀏覽器中顯示NULL,並且在控制台中查看get請求顯示沒有接收到數據。
有人可以指出我的錯誤嗎? 我不明白為什么數據沒有被傳遞。
此圖顯示了控制台日志,我的POST顯示了我的數組
此圖顯示了我的PHP頁面上GET的控制台日志,該日志為空。
<?php
# get the data from POST, not stdin
$json = filter_input(INPUT_POST, "data", FILTER_DEFAULT);
//replace FILTER_DEFAULT with appropriate filter flags, as tight as possible
$dataObject = json_decode($json);
$dataArray = json_decode($json, true);
請注意,這里沒有任何安全措施,除了您可以設置嘗試清除輸入內容的FILTER_FLAGS之外。 您需要基於令牌的驗證來防御XSS,並且應該在其余的PHP腳本/處理程序對JSON進行操作之前,徹底測試JSON中的意外輸入,並且通常可能會對安全性有更多的偏執。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.