2013-05-08 20 views
0

我在這個格式得到輸出 var sampleTags = ['c++', 'scala'];PHP:無法獲取JSON輸出到我的JavaScript頁面作爲變量值

我的JavaScript函數爲:

<script> 
      $(document).ready(function(){ 
     $(function(){ 
      var sampleTags; 

      $.ajax({ 
       url:"<?php echo base_url('ajax_get_tags/gettags'); ?>" 
      }).done(function(data) { 
       if (data) { 
        sampleTags = data; 
       } 
      }); 
     ...................... 
     ....................... 



$(function(){ 
    var sampleTags = <?php echo json_encode($query) ?>; 

我的PHP控制器

function gettags(){ 
    $json_array=$this->tagsmodel->get_all_tags(); 
    echo json_encode($json_array); 
} 

我的模型是

//-------------------------------Function get all tags-------------------------------- 
function get_all_tags() { 
    $this->load->database(); 
    $this->db->limit('10'); 
    $this->db->select('tags_name'); 
    $res = $this->db->get('tags'); 
    $ret = array(); 

    foreach ($res->result_array() as $row) { 
      $ret[] = $row['tags_name']; 
    } 

    return $ret; 
} 

如何從ajax請求獲取json輸出以顯示其javascript值的變量值? 請幫我解決這個問題..

+0

你會得到什麼錯誤? (嘗試檢查javascript錯誤日誌) – sgroves 2013-05-08 13:23:52

+0

@Blazemonger其實這是不重複,都是一個不同的問題 – 2013-05-08 13:26:36

+0

@sgroves在控制檯'未捕獲TypeError:對象#沒有方法'完成'這個錯誤 – 2013-05-08 13:27:30

回答

-1

我想用模具或退出打印它來給大家幾點建議

  1. 檢查返回值形成服務器端。
  2. 在firebug net選項卡中檢查http響應。 3.
+0

那麼,如果你不願意'努力工作',那麼你應該放棄編程,去爲政府工作或找一份工作。聽起來你可能會對你從控制器回來的json感到困惑。你有看到這個嗎? http://api.jquery.com/jQuery.parseJSON/ – jcorry 2013-05-08 14:13:34

0

您使用的是舊版本的jQuery,因此.done不起作用。它看起來像你想一鍵添加到您的名爲complete請求對象,用匿名函數作爲其值:

$.ajax({ 
    url: "<?php echo base_url('ajax_get_tags/gettags'); ?>", 
    complete: function(data) { 
     if (data) { 
      sampleTags = data; 
     } 
    } 
}); 

我發現了這一點谷歌搜索通過您的錯誤信息。其中一個結果是這個問題:Object #<XMLHttpRequest> has no method 'done'。你可能只是用錯誤信息去找出你自己的想法。

+0

現在我正在使用更新的版本'jquery-1.9.1.min.js'。是的,我得到了這個教訓'你可能只是GOOGLE錯誤信息並自己想清楚了。' – 2013-05-08 13:44:58

+0

現在可以工作嗎? – sgroves 2013-05-08 13:48:44

+0

對不起,sgroves仍然沒有填充價值。我檢查了控制檯。我發現沒有錯誤。 – 2013-05-08 13:51:06