2012-10-25 39 views
0

AJAX如何從JSON方法

$('#stb_no').blur(function(){ 
    var stb_no= $('#stb_no').val(); 
    $.ajax({ 
     url: "http://localhost/paymybill/ajax/stb_info", 
     global: false, 
     type: "POST", 
     data: { 
      'stb_no':stb_no, // you should give a key to the variable 
     }, 
     success: function(data) { 
      $('#amount').val(data); 
    //  $(".email_msg").addClass("red"); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      console.log(textStatus, errorThrown); 
     } 
    }); 
}); 

控制器代碼中的每個值

public function stb_info(){ 
    $stb_no=$this->mso->alldata_stbno($this->input->post('stb_no')); 
    echo json_encode($stb_no); 
} 

我得到了把

[{"sxb_no":"xxxxxx","mzo_name":"xx","cto_name":"xxxxx","area":"xxxxx","name_sxb_owr":"","mobile_no":"xxxxxx","email":"[email protected]","amount":"xxx"}] 

我需要知道如何讓每個值前: - 如果我想要獲得電子郵件ID我應該怎麼做jquery請幫我我新到ajax

+1

取決於行返回的數字,但基本上:myArray的[0] [「電子郵件」] – sdespont

+0

myArray的代表陣列名稱????但我沒有名字,我想我在文本框中顯示這個使用$('#amount')。val(data);在jquery – Anudeep

回答

1

大多數瀏覽器都支持ECMA-262中定義的JSON.parse(),這是推薦的方法。它的用法很簡單(我會用你的榜樣JSON):

var json = '{"area":"xxxxx",...,"email":"[email protected]","amount":"xxx"}';
var obj = JSON.parse(json);

注意obj.email不能使用,因爲你解析一個陣列。

編輯:檢查你的意見,你需要知道數據參數是JSON對象,首先分析它,然後你可以這樣做:

$('#amount').val(obj[0].email);

0

例如:

$('#stb_no').blur(function(){ 
    var stb_no= $('#stb_no').val(); 
    $.ajax({ 
     url: "http://localhost/paymybill/ajax/stb_info", 
     global: false, 
     type: "POST", 
     data: { 
      'stb_no':stb_no, // you should give a key to the variable 
     }, 
     success: function(data) { 
      $('#email').val(data[0]['email']); 

      //OR 
      var obj = JSON.parse(data); 
      $('#email').val(obj[0].email); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      console.log(textStatus, errorThrown); 
     } 
    }); 
}); 
+1

如果你已經解析了數據,不需要使用數組表示法,用對象表示法代替 –

+0

你是對的。謝謝 – sdespont

1

只需添加到$.ajax調用參數dataType:"json",Jquery將自動解析成功參數。然後用它data[0]['email'];

+0

檢查我的代碼類型:後我使用...使用2類型的任何問題? – Anudeep

+1

我試過,但沒有工作... – Anudeep

+0

對不起,我的意思是dataType –