2016-02-28 57 views
1

我需要遍歷一些通過AJAX發佈到PHP頁面的數據。我已經閱讀了大約十幾個答案,而且沒有一個適合我。這就是我的數據對象看起來像發帖:PHP處理數據通過AJAX POSTED

{"sessionValues":[{"ProductID":"507","State":"CHECKED"}, {"ProductID":"204","State":"UNCHECKED"}]} 

我然後張貼這樣的:

$.ajax({ 
    url: 'setSessionValues.php', 
    type: 'post', 
    data: {"session" : JSON.stringify(postObj)}, 
    success: function(data) { 
     console.log(data); // Hello worldData: , Data: ,   
    } 
}); 

這是我在PHP嘗試的最後一件事:

if (isset($_POST["session"])) { 
    echo "Hello world"; 
    $session = json_decode($_POST["session"]); 
    echo "Data: " . $session->sessionValues[0]->ProductID . ", " . $session->sessionValues[0]->State; 
    $session = json_decode($_POST["session"], true); 
    echo "Data: " . $session['sessionValues'][0]['ProductID'] . ", " . $session['sessionValues'][0]['State']; 
} 

我試過的一切都會拋出空白或錯誤​​。

編輯:

事實證明,它不喜歡我的數據。語法錯誤:意外的輸入結束。有關於此的任何想法?

回答

0

第二件事(Xdebug的是第一個),你應該在PHP嘗試是

if (isset($_POST["session"])) { 
    $session = json_decode($_POST["session"]); 
    print_r($session); 
+0

這是第一件事我試過一次。這只是空白。 – user1601513

+0

@ user1601513然後檢查瀏覽器devtools中發送的內容。數據被正確發送,進入PHP的'_ _POST'和'json_decode()'無法解碼JSON –

+0

'echo count($ _ POST [「session」]);'也不顯示任何內容。也許這就解釋了爲什麼幾個小時後我無法訪問任何數據:)我在這裏輸了。 – user1601513