2012-05-17 64 views
2

。我現在送的郵政編碼,一個PHP頁面,並嘗試JSON作爲結果存儲:第一次使用json獲取json對象

$("#make_ajax_call").click(function() 
    { 
     var form_postcode = $("#postcode").val(); 
     $.ajax({ 
      type: "POST", 
      url: 'mapping-ajax.php', 
      data: { postcode: form_postcode}, 
      success: function(data) 
      { 
       var jsonObject = data; 
       var trimmedpostcode = jsonObject.trimmedpostcode; 
       alert(jsonObject); 
       alert(jsonObject.trimmedpostcode); 
       $('#result').html(data); 
       //alert('Load was performed.'); 
      } 
     }); 
    }); 

在我使用了PHP函數的另一端echo json_encode($return_array);

兩個警報給我:

{"trimmedpostcode":"CO125WL","success":true,"outputstring":"CO125WL<br\/>"} 

Undefined 

怎麼會第二個不返回 「CO125WL」?我需要以某種方式告訴JavaScript它的json對象嗎?

回答

3

你試過:

dataType: 'json' 

這是我怎麼拉與Ajax調用Javascript中的json信息。

1

你明白了。您需要致電:

var obj = JSON.parse(jsonstr); 

這會將JSON解析爲JavaScript對象。

+0

很好,謝謝!你回答得太快了,我不能接受作爲答案,但我會盡快通過stackoverflow讓我。 'var obj = JSON.parse(data); \t \t \t \t \t alert(obj); \t \t \t \t \t alert(obj.trimmedpostcode);' – Djave

+0

你不應該。 $ .ajax能夠解析JSON本身,使用它。 – Bergi

+0

沒問題。僅供參考,其他答案同樣正確。你可以設置數據類型,jQuery會自動爲你調用這個方法。 – Jivings

0

我需要告訴JavaScript它的某個json對象嗎?

是的,你需要告訴它它是一個json字符串。將響應的mimetype設置爲適當的「application/json」,jQuery的智能將自動解析文本,並用對象而不是字符串調用success函數。

或者您可以將您的jQuery調用的dataType設置爲"json",請參閱jQuery.ajax() documentation