未找到Codeigniter AJAX网址

时间:2016-06-27 08:06:26

标签: jquery html ajax codeigniter

我在codeigniter中使用.ajax函数进行ajax调用,我的控制器被称为控件,我在其中有一个名为Login的函数

但是当我运行此代码时:

 $.ajax({
        url: "Connection/Login",
        type: "POST",
        data: Login_data,
        success: function () {
            alert('ajax worked');
        }

    });

控制台告诉我404找不到错误。 并且添加index.php不起作用。

编辑:我能够在我的控制器中访问我的功能而根本没有提到控制器,所以我可以调用url:“login”,我不需要添加名为connection的控制器吗?

这是因为我的路线档案?因为我需要有组织网址的路由文件,我无法访问另一个控制器功能,但控制器设置为默认控制器

路线档案:

  

$ default_controller =“网页”; $ controller_exceptions =   阵列( '管理员', '论坛');

     

$ route ['default_controller'] = $ default_controller;   $ route [“^((?!\ b”.implode('\ b | \ b',$ controller_exceptions)。“\ b)。*)$”] =   $ default_controller '/ $ 1'。 $ route ['404_override'] ='';   $ route ['translate_uri_dashes'] = FALSE;

5 个答案:

答案 0 :(得分:1)

将base_url()添加到ajax url

var base_url = <?php echo base_url()?>;
$.ajax({
    url: base_url+"Connection/Login",
    type: "POST",
    data: Login_data,
    success: function () {
        alert('ajax worked');
    }

});

更好地从视图中隐藏的输入传递base_url

并在codeigniter中设置base_url配置

答案 1 :(得分:0)

首先,您需要先调用控制器,然后再调用方法。

实施例: url: '/control/login'

其中controlcontroller的名称,loginmethod的名称。

答案 2 :(得分:0)

animateFlag = true;

$(window).scroll(function() {
   if($(this).scrollTop() > 500) {
     if(animateFlag) {
         $(".element").addClass("animateElement");
         animateFlag = false;
      }
   }
}

对路线使用site_url(),对资产使用base_url()

答案 3 :(得分:0)

第一种方法

如果baseurl+index.php/controllername/functionname隐藏,则添加index.php,然后ajax网址必须为baseurl+/controllername/functionname

第二种方法

也只是使用functionname

下面是示例:

$.ajax({
    type : 'POST',
    url : 'sendrequest',
    data : { allVals : allVals },
    async : false,
    success : function(html)
              {
                  $(".close").click();
              }
});

在这种情况下,我的控制器功能是sendrequest

$.ajax({
    type : 'POST',
    url :  $("#app_base_url").val() + 'index.php/user/activities/activity_calendar_add',
    data : { id : id},
    async : false,
    success : function(data)
              {
                  $(".add_act").html(data);
              }
});

$("#app_base_url").val()可能包含baseurl

答案 4 :(得分:0)

我希望这可以帮助你

$。AJAX({         url:&#34;登录&#34;,         键入:&#34; POST&#34;,         数据:Login_data,         成功:function(){             警报(&#39; ajax工作&#39;);         }     });