2017-01-11 43 views
0

我寫了一個代碼,其中有一個REST調用,結果發回。令人困惑的結果與json轉換

使用下面的js代碼(Ajax/jQuery),我拉數據。

success : function(msg) { 
      dataObj = msg; 
      var jsonResp = JSON.stringify(dataObj); 

      alert(dataObj.answer + "\t" + dataObj); 
      console.log(dataObj.answer + "\t"+ dataObj); 
      document.getElementById('time').innerHTML = dataObj; 
     } 

控制檯輸出,我得到的是

undefined {"answer":"Hello","score":"100"} 

,而不是

Hello {"answer":"Hello","score":"100"} 

請讓我知道我要去哪裏錯了,我怎麼能解決這個問題。

感謝

+3

msg是JSON字符串,不是對象。您需要使用'JSON.parse()'將其轉換爲對象。你也可以在'$ .ajax'調用中加入'dataType:'json'',然後jQuery將自動執行此操作。 – Barmar

+1

而不是JSON.stringify你應該使用JSON.parse –

+0

'msg'是字符串還是JSON對象? –

回答

1
dataObj = msg; 

應該

dataObj = JSON.parse(msg); 

,或者您可以使用dataType: 'json'選項$.ajax()讓jQuery將自動執行此操作。