2010-03-31 123 views
0

調用稱爲URL的ajax運行良好,沒有ajax例如。 http://localhost/ci/controller/method/param_value。但使用Ajax它不起作用。 以下是代碼段,我剛剛開始使用帶有CI的JQuery + Ajax。CI + JQuery + Ajax問題

這裏是我的控制器:

<?php 

類BaseController擴展控制器{

public function BaseController(){ 
    parent::Controller(); 
    $this->load->helper('url'); 
} 
function index(){ 
    $this->load->view('header'); 
    $this->load->view('body'); 
    $this->load->view('footer'); 
} 
function ajaxTest($testData=""){ 
    //$this->load->view('ajaxtest',array('test_data'=>$testData)); 
    echo 'Got It'; 
} 

} >

這裏查看

<?php 

echo $ test_data; ?>

AJAX調用功能

function testAjaxCall(){ 

$.post(
    base_url+'basecontroller/ajaxtest/test-value', 
    function(responseData) { 
     $("#test-div").html(responseData); 
    } 
); 

}

的Ajax調用頁面(按鈕)

<div id="test-div"></div><input type="button" onclick="testAjaxCall()" name="ajax-test" value="Test Ajax" /> 

JS BASE_URL聲明

<script type="text/javascript" src="<?php echo base_url();?>js/jquery.js"></script> 
<script type="text/javascript" src="<?php echo base_url();?>js/application-ajax-call.js"></script> 

<script type="text/javascript"> 
/* to make ajax call easy */ 
base_url = '<?php echo base_url();?>'; 
</script> 

哦!有趣的是,它在IE8上工作,但不是FF。我不知道。

+0

哦!有趣的是,它在IE8上工作,但不是FF,我不知道。 – Sadat 2010-03-31 17:40:03

回答

0

你有沒有在你的JS中正確定義base_url?

嘗試改變這種

base_url+'basecontroller/ajaxtest/test-value', 

'<?=base_url()?>basecontroller/ajaxtest/test-value', 

編輯: 此外,我會強烈建議你安裝的Firebug(火狐插件),這樣你就可以調試Ajax的帖子。

EDIT2:CI不允許通過GET請求傳遞參數。嘗試更改$ .get(到$ .post(

+0

是的,我已經添加了,現在我也爲該問題添加了base_url項。 – Sadat 2010-03-31 10:02:34

+0

相同的帖子,我也編輯了這個問題 – Sadat 2010-03-31 10:14:55

+0

請安裝螢火蟲,啓用網絡控制檯,併發布由此產生的錯誤。您是否404找不到?如果是這樣的網址是什麼發佈? – Iraklis 2010-03-31 10:22:31