2016-10-18 22 views
0

我正在使用codeignitor框架,我很新,所以請幫我解決我的問題。阿賈克斯在codeigniter中獲得價值

下面是視圖:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
?><!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>Welcome to CodeIgniter</title> 
<script type="text/javascript" src="<?php echo base_url().'plugins/jQuery/jQuery-2.2.0.min.js'?>"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

     $.ajax({ 
      type:'GET', 
      url:'<?php echo site_url('ajax/hello/');?>', 
      success:function(result){ 
       $('#value').html(result); 
      } 
     }); 
    }); 
</script> 
</head> 
<body> 

<div id="container"> 
<p id="value"></p> 
</div> 

</body> 
</html> 

下面是控制器:

<?php 
class Ajax extends CI_Controller{ 
    public function index() 
    { 
     $this->load->view('index'); 
    } 
    public function hello(){ 
     return 'hello'; 
    } 
} 
?> 

我使用AJAX從控制器獲得價值,任何人都可以請幫我該怎麼辦

回答

1

回報不會做任何事情,您需要回應迴應。它也是一個好主意,以迴應一個JSON響應,因爲可以直接使用javascript作爲原生JavaScript對象。現在

public function hello(){ 
    echo json_encode(array('reply' => 'hello'); 
} 

,如果你改變你的AJAX調用來告訴它希望這樣

$.ajax({ 
    type:'GET', 
    dateType: 'json', 
    url:'<?php echo site_url('ajax/hello/');?>', 
    success:function(result){ 
     $('#value').html(result.reply); 
    } 
}); 
+0

不工作@裏格斯愚蠢 – Sagar

1

JSON響應在hello()功能,儘量echo的反應,而不是使用return -

<?php 
class Ajax extends CI_Controller{ 
    public function index() 
    { 
     $this->load->view('index'); 
    } 
    public function hello(){ 
     echo 'hello'; 
    } 
} 
?>