[英]Codeigniter weird ajax result in controller
我已經開始了一個codeigniter項目,現在我必須對一個特殊的控制器進行ajax調用。
它的內容如下:-我有兩個選擇字段:一個用於選擇縣的字段,另一個必須在所選縣的城市中填充。
問題是,當我將選定的縣ID發送給Ajax控制器時,我得到了一個非常奇怪的結果。
如果我在控制器中放這樣的東西:在控制器中回顯“ a $ county_id”,它會給我響應:[selected county_id],但是如果我只回顯出縣ID,它會顯示一些json空響應,我不知道怎么了,下面是代碼:
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"); } }); }); });
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.