簡體   English   中英

Codeigniter怪異的ajax結果在控制器

[英]Codeigniter weird ajax result in controller

我已經開始了一個codeigniter項目,現在我必須對一個特殊的控制器進行ajax調用。

它的內容如下:-我有兩個選擇字段:一個用於選擇縣的字段,另一個必須在所選縣的城市中填充。

問題是,當我將選定的縣ID發送給Ajax控制器時,我得到了一個非常奇怪的結果。

如果我在控制器中放這樣的東西:在控制器中回顯“ a $ county_id”,它會給我響應:[selected county_id],但是如果我只回顯出縣ID,它會顯示一些json空響應,我不知道怎么了,下面是代碼:

  1. ajax(jquery)調用。

      $(document).ready(function(){ $('#judet').change(function(){ var county = $( "select option:selected" ).val(); $.ajax({ type:'POST', /*dataType: "json",*/ data:{cou_county:county}, url:'<?php echo base_url("ajax_controller/") ?>', success:function(){ console.log('id_judet:' + county); }, error:function(mesaj){ console.log("there's an error"); } }); }); }); 
  2. codeigniter ajax_controller控制器:

      public function index() { header('content-type text/html charset=utf-8'); $cou_county = $this->input->post('cou_county'); $decodedCounty = $cou_county; echo "$decodedCounty"; } 

    縣和城市選擇器是帶有id的兩個簡單選擇輸入。如果您認為我沒有很好地解釋它,我會張貼一些圖片。

編輯:ajax調用確實訪問了控制器,實際上我在該控制器上回顯了該ID,但是在響應中,我得到了一些奇怪的json而不是數字,如下圖所示:

響應

感謝您抽出寶貴的時間閱讀本文,並在此先感謝您抽出寶貴的時間幫助兄弟。

您不能在javascript中使用PHP代碼:

<?php echo base_url("ajax_controller/") ?>

相反,您應該創建一個js變量,如下所示:

base_url = '<?php echo base_url("ajax_controller/") ?>';

然后將此變量與您的函數一起使用。

為了使用base_url()您必須像這樣在控制器中加載url helper。

$this->load->helper('url');

或加載到application/config/autoload.php

然后在您的ajax中編輯url

url:'<?php echo base_url("ajax_controller/index");?>',

在控制器中:

public function index()
    {       
        $cou_county = $this->input->post('cou_county');
        echo $cou_county;
    }

在ajax中:

$.ajax({
                type:'POST',
                /*dataType: "json",*/
                data:{cou_county:county},
                url:'<?php echo base_url("ajax_controller/index");?>',
                success:function(data){
                    console.log(data); //see your console
                },
                error:function(data){
                    console.log("there's an error");
                }
            });

暫無
暫無

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

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