【问题标题】:CI+JQuery+Ajax problemCI+JQuery+Ajax问题
【发布时间】:2010-03-31 09:04:57
【问题描述】:

在没有 ajax 的情况下调用名为 URL 的 ajax 效果很好,例如。 http://localhost/ci/controller/method/param_value。但是使用ajax它不起作用。 以下是代码段,我刚开始使用 JQuery+Ajax 和 CI。

这是我的控制器:

<?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

回显 $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。我不知道。

【问题讨论】:

  • 哦!有趣的是,它适用于 IE8 而不是 FF。我不知道。

标签: jquery ajax codeigniter


【解决方案1】:

你在你的 JS 中正确定义了 base_url 吗?

尝试改变这个

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

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

编辑: 此外,我强烈建议您安装 Firebug(Firefox 插件),以便调试您的 Ajax 帖子。

EDIT2:CI 不允许通过 GET 请求传递参数。尝试将 $.get( 更改为 $.post(

【讨论】:

  • 是的,我已经添加了。现在我也在问题中添加了 base_url 术语。
  • 请安装 firebug,启用网络控制台,并发布结果错误。你得到一个 404 未找到?如果是这样,发布的确切网址是什么?
猜你喜欢
  • 2011-02-11
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 2011-04-15
相关资源
最近更新 更多