2016-01-09 69 views
-2

我有一些Javascript/jQuery代碼返回一個JSON對象並將其打印在HTML div中。我如何訪問Javascript中的JSON對象的特定值?如何從JavaScript上的JSON對象中獲取數據?

$(document).ready(function() { 
    $('#question').on('submit', function() { 
     event.preventDefault(); 
     var query = $('#request').serialize(); 
     $.ajax({ 
      method: "GET", 
      url: "durhamServer.php?".concat(query), 
      success: function(result) { 
       $("#response").html("<p>" + result + "</p>"); 
     }}); 
    }); 
}); 

結果在這種情況下是JSON對象我想要的,例如,它出來與

{ 
    "durhamResponse": *response, 
    "twitterResponse": *response 
} 

*response是從服務器的響應。我如何獲得*response作爲價值? 當我嘗試時它不起作用,而html result[0]html result["durhamResponse"]

如何訪問JSON對象中的值?

+1

是什麼'結果[ 「durhamResponse」]'在控制檯上打印? – gurvinder372

+0

你說你試過的東西是非常不清楚的。顯示**正確格式化的代碼**你嘗試過什麼,並解釋它如何不起作用 – Amit

+0

try result.data。如果它不起作用,請記錄結果並查看其結構。 –

回答

0

這個JSON.parse()函數將JSON解析爲一個JavaScript對象。

你想用這樣的:通過使用var resultObj = JSON.parse(result)

JSON功能應該本身是在所有modern browsers

+0

'jQuery.ajax(...)'很可能會自動執行JSON處理。這似乎不是一個合理的答案 – Amit

0

可以轉換result爲對象.parse(結果);

你可以很容易在任何瀏覽器測試此javascriptconsole:

的console.log(JSON.parse( '{ 「測試」:1}'));

0

VAR的JSONObject = JSON提供

$.ajax({ 
    method: "GET", 
    url: "durhamServer.php?".concat(query), 
    success: function(result) { 
     var parsedResult = JSON.parse(result); 
     $("#response").html("<p>" + parsedResult.durhamResponse + "</p>"); 
    } 
}); 
0

嘗試

$.ajax({ 
    method: "GET", 
    url: "durhamServer.php?".concat(query), 
    dataType: "json",//just to be sure 
    success: function(result) { 
     $("#response").html("<p>" + result.durhamResponse + "</p>"); 
    } 
}); 
+0

單獨一個代碼塊並不能提供很好的答案。請添加解釋(爲什麼它解決了問題,錯誤在哪裏等) –