ajax jquery与codeigniter.网址不访问控制器

Sem*_*iev 5 javascript php ajax jquery codeigniter

我是codeigniter的新手,无法让我的ajax工作.
我试图在点击时将链接内容加载到主文档中.
我寻找指示,但无法弄清楚.除了ajax之外的所有工作都会返回alert('ERROR')消息.什么都没有加载到<div id='load_here'></div>
也许我在config.php中遗漏了什么?我必须加载一些库才能使用吗?任何想法都会有用//主文档链接

<span id='reg_link_rules'>Link</span>  
<div id='load_here'></div>
Run Code Online (Sandbox Code Playgroud)

//控制器

class Register extends CI_Controller {
   public function hello()
   {
      echo 'hello';
   }
}
Run Code Online (Sandbox Code Playgroud)

// 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');}
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我认为问题是ajax url不能访问控制器.Z:/ home/codeigniter/www/register/test这是我觉得它需要我的地方

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

Rob*_*lin 6

尝试使用url:"/ register/hello".

可以做到这一点.

通常我做一个

<script type="text/javascript">
    base_url = '<?=base_url()?>';
</script>
Run Code Online (Sandbox Code Playgroud)

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

base_url+"register/hello"
Run Code Online (Sandbox Code Playgroud)

代替

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


gor*_*ive 6

complete: function(data){
        $('#load_here').html(data);
    },
Run Code Online (Sandbox Code Playgroud)

应该

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

success: function(data){
        $('#load_here').html(data);
    },
Run Code Online (Sandbox Code Playgroud)

$.ajax({
  type: "GET", 
Run Code Online (Sandbox Code Playgroud)

应该

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

$.ajax({
  type: "POST", 
Run Code Online (Sandbox Code Playgroud)