2010-03-31 122 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