2016-12-01 65 views
1

爲什麼我的JSON值沒有被解析成一個對象?jquery:json請求輸出

這是我的jQuery部分

$.ajax({ 
       url:'url.php', 
       type:'post', 
       data:{'players':playersDone, 'userID':userID, 'gameVariant':gameVariant, 'gameWeek':gameWeek,}, 
       success: function (res) {       
        console.log(res); 
        alert(res); 
        alert(res.idOfLastRow); 
        window.location.href = " summary.php?idOfLastEntry='"+res.idOfLastRow+"' "; 
       } 
      }); 

和我PHP看起來是這樣的:

... 
... 
     '".$_POST['players']['fw3']."', 
     ".$_POST['players']['sub']."', 
     '', 
     '');"; 

    mysqli_query($connection, $queryInsertFinishedDraft); 
    $_POST['players']['idOfLastRow'] = $connection->insert_id; 

JSON數據

當我輸出我收到的數據在一個警報響應,它看起來像這樣

{"df1":"952","idOfLastRow":77} 

然而,當我試圖進入的領域之一,我得到未定義

alert(res.idOfLastRow)是在你的Ajax調用 「未定義」

+1

錯誤響應內容類型。打印json之前,請發送正確的內容類型。 'header(「Content-Type:application/json」);' –

+0

多數民衆贊成它!謝謝!!!! –

回答

0

你需要添加的數據類型JSON

  url:'url.php', 
      type:'post', 
      dataType: 'json', <--- 
      data:{'players':playersDone, 'userID':userID, 'gameVariant':gameVariant, 'gameWeek':gameWeek,}, 
      success: function (res) { 
+0

對不起,但這不是解決方案:( SOlution是,我忘了添加一個頭!像標題(「內容類型:應用程序/ JSON」); –

0

您可以選擇在PHP中返回正確的內容類型,並讓jquery做到這一點:

header("Content-Type: application/json"); 

或解析字符串自己:

JSON.parse(res);