5

我是 codeigniter 的新手,无法让我的 ajax 工作。
我正在尝试使链接在单击时将内容加载到主文档中。
我寻找说明,但无法弄清楚。除 ajax 外的所有工作都返回alert('ERROR')消息。没有加载任何东西<div id='load_here'></div>
也许我在 config.php 中遗漏了一些东西?我是否必须加载一些库才能使其工作?任何想法都会有所帮助//主文档链接

<span id='reg_link_rules'>Link</span>  
<div id='load_here'></div>

// 控制器

class Register extends CI_Controller {
   public function hello()
   {
      echo 'hello';
   }
}

// jQuery

$(document).ready(function() {
    $('#reg_link_rules').click(function(eve){

    $.ajax({
      type: "GET", 
      url: "register/hello", 

      complete: function(data){
        $('#load_here').html(data);
    },
    error: function(){alert('error');}
    });
  });
});

我认为问题在于 ajax url 没有访问控制器。Z:/home/codeigniter/www/register/test 这是我认为需要的地方

问题解决了,url需要是http://codeigniter/index.php/register/hello

4

6 回答 6

6

尝试使用 url:“/register/hello”。

可能会奏效。

通常我会做一个

<script type="text/javascript">
    base_url = '<?=base_url()?>';
</script>

在我页面的开头,简单地说

base_url+"register/hello"

反而

这使我的 ajax 更可靠,即使 / 不正确。

于 2012-05-01T13:26:25.450 回答
6
complete: function(data){
        $('#load_here').html(data);
    },

应该

只是引用另一个 SO 问题......在 AJAX 调用中使用 success() 或 complete()

success: function(data){
        $('#load_here').html(data);
    },

$.ajax({
  type: "GET", 

应该

除非您希望在 URL 中提交您的表单变量。

$.ajax({
  type: "POST", 
于 2012-05-01T13:28:00.587 回答
0
you need to pass the bas_url to ajax file

<script type="text/javascript">

$(document).ready(function(e) {
    var baseurl = <?php echo base_url();?>

    $('#reg_link_rules').click(function(){

        $.ajax({
            url : baseurl+'index.php/register/hello',
            data : '',
            type: "POST",
           success : function(){


            }
        })
        return false;
    })

});

</script>
于 2013-12-30T13:49:34.950 回答
0

您好,您应该将基本 url 添加到 URL Ajax。

 $.ajax({
  type: "GET", 
  url: <?php echo base_url();?>"register/hello", 

  complete: function(data){
    $('#load_here').html(data);
},

请记住在控制器中启用帮助程序 URL!

干杯

于 2013-10-16T01:44:57.440 回答
0

你需要确保两件事

请将您的 ajax 部分作为 url: ?php echo base_url();?>"register/hello",并输入:"GET",还需要检查它是否路由到 config/routes.php 上的 url。

于 2019-09-03T12:16:33.510 回答
0

有时您确实需要将 index.php 添加到字符串中。像这样:

 $.ajax({
  type: "GET", 
  url: <?php echo base_url();?>"index.php/register/hello", 

  complete: function(data){
    $('#load_here').html(data);
},

但这一切都与您的配置文件有关。这是我的错误。希望能帮助到你。

于 2017-11-21T09:35:06.533 回答