簡體   English   中英

將Javascript數組傳遞到PHP

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

<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM