2016-10-18 9 views
0

私はcodeignitorフレームワークを使用しています。私はとても新しく、問題を解決してください。codeigniterで値を取得するAjax

以下

図である。

以下
<?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'; 
    } 
} 
?> 

誰が

答えて

1
を行うにはどのように私を助けてください、私は、コントローラから値を取得するために、AJAXを使用しています

リターンは何もしません、あなたは応答をエコーする必要があります。また、javascriptがネイティブのjavascriptオブジェクトとして直接使用できるので、JSONレスポンスをエコーするのも良い考えです。

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

今、あなたはhello()機能でこの

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

@Riggs Folly – Sagar

1

のようなJSONレスポンスを期待することを伝えるために、あなたのAJAX呼び出しを変更した場合、echoに応答を試みる代わりにreturn使用して -

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