簡體   English   中英

CodeIgniter JQuery Post 無法讀取 Json 響應

[英]CodeIgniter JQuery Post Failed to read Json response

我是 Jquery 的新手。 我試圖從 Codeigniter 獲取一些數據,我使用了 Fiddler 並驗證了我的控制器發送回有效的 Json 響應,但 JQuery 沒有觸發函數。

這是我的 Jquery Post 代碼。

 $.post('<?=base_url();?>index.php/location/get_state_city', {'state_id' : this.value,'city' : neighbor}, function(data) 
        {
            alert('inside function' + data);
        }, 'json');

以下是我從 Codeigniter 控制器返回的響應,如 Fiddler 所示

HTTP/1.1 200 OK 日期:2017 年 10 月 15 日星期日 07:20:21 GMT 服務器:Apache/2.4.23 (Win64) PHP/5.6.25 X-Powered-By:PHP/5.6.25 Content-Length:125 Keep -Alive: timeout=5, max=99 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8 {"data_type":"success","data_val":"選擇城市</option>BOSTON</option>","loc":"1"}

我也試過 AJAX,它進入了 Error 函數並顯示了這個錯誤。

ajax "readyState":0,"responseText":"","status":0,"statusText":"error"

阿賈克斯代碼:

 $.ajax({
            type: "POST",
            url: "<?php echo base_url('Location/get_state_city'); ?>",
            data: postData,
            datatype : 'json',
            success: function(data){
                alert( "Data fetched: " + data );

            },error : function(data2) {
                alert('Failed' + JSON.stringify(data2));
                }
        });

任何幫助將不勝感激。 提前致謝。

這是解決方案

 public function get_state_city(){
      $state_id = $this->input->post('state_id');
      $loc_res = $this->location_model->get_neighborhoodcity(array('where' => array('state_id' => $state_id), 'status' => '1', 'debug' => FALSE));
      $neigh   = (int)$this->input->post('city');
      if(is_array($loc_res) && !empty($loc_res)){
          $neighbour = '<option value="">Select City</option>';
          foreach($loc_res as $key => $val){
              $neighbour .= '<option value="'.$val['id'].'" '.($val['id'] == $neigh ? ' Selected = "selected"' : '').'>'.$val['name'].'</option>';
          }
         $neighbour, "loc" => $state_id);
          $loc_data = array('data_type' => 'success',"data_val" => $neighbour, 'loc' => $state_id);
      }else{
          $loc_data = array('data_type' => 'error', 'data_val' => '', 'loccccc' => $state_id);
      }

      echo json_encode($loc_data);  
}   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM