codeigniter 未找到代码触发器 AJAX url

cetgtptt  于 2023-02-27  发布在  其他
关注(0)|答案(5)|浏览(119)

我在codeigniter中使用. AJAX 函数进行ajax调用,我的控制器称为control,其中有一个函数称为Login
但是当我运行这段代码的时候

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

    });

控制台给我404找不到错误。并且添加indexiderphp不起作用。
编辑:我可以在我的控制器中访问我的函数,而无需提及控制器,所以我可以调用url:“登录”,我不需要添加控制器称为连接?
这是因为我路由文件吗?2因为我需要一个有组织的url的路由文件,而且我不能访问另一个控制器功能,但是控制器设置为默认控制器
路由文件:
$默认控制器=“网页”;$控制器异常=数组(“管理员”,“论坛”);
$路由[“默认控制器”]= $默认控制器;$route["^((?!\B”.内爆('\b|\b ',$控制器异常)."\b).*)$"] = $默认控制器。'/$1 ';$路由[“404_覆盖”]=“”;$路由[“翻译_URI_破折号”]=假;

7ivaypg9

7ivaypg91#

将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配置

eqqqjvef

eqqqjvef2#

第一种方法

添加baseurl+index.php/controllername/functionname如果index.php隐藏,则 AJAX url必须为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

x7rlezfr

x7rlezfr3#

首先,您需要先调用控制器,然后再调用方法。
示例:url: '/control/login'
其中controlcontroller的名称,loginmethod的名称。

e5nszbig

e5nszbig4#

$.ajax({
        url: "<?php echo site_url('connection/login')?>",
        type: "POST",
        data: Login_data,
        success: function () {
            alert('ajax worked');
        }
    });

使用site_url()作为路由,base_url()作为资源

mzillmmw

mzillmmw5#

试试这个:

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

相关问题