无法在codeigniter中提供文件的链接

时间:2017-03-06 05:00:26

标签: javascript php jquery codeigniter

我在我的codigniter中创建了一个ajax脚本,文件main.js位于localhost / website / assets / js / main.js

主要.js上的

当我在正常模式下测试而不是在框架上时我发布了这样的文件的链接

$(document).ready(function(e) {
$("#post").on('submit', (function(e) {
    var form = this;
    $.ajax({
        url         : "includes/post_data.php",
        type        : "POST",
        data        : new FormData(this),
        contentType : false,
        cache       : false,
        processData : false,
        success     : function(data) {
            $("#data_update").prepend(data);
            form.reset();
        }
    });
}));
});

现在当我在codeigniter中创建这个类似的功能时,我已经创建了一个控制器,所以我现在如何提供链接,它不会包含/ get_data.php我创建的控制器是这样的

class Forums extends CI_Controller {
   public function post_forum() {
      //code goes here
  }
}

当我尝试将链接设为'mydirecotry / forums / post_forum'时,表示错误请帮帮我

3 个答案:

答案 0 :(得分:1)

在Codeigniter中试试这个:

url : "<?php echo base_url() ?>/post_forum",

<强> BASE_URL()

返回您的站点基本URL,如配置文件中所指定。例如:

echo base_url();

注意:如果您正在处理单个JS文件,则将其传递给其值并使用JS或Jquery获取其值。

答案 1 :(得分:1)

您必须指定控制器的完整网址。要检查完整网址,请在项目的任何控制器中运行此代码。

示例:

class Forums extends CI_Controller {

   public function post_forum() {

      echo base_url('forums/post_forum');
  }
}

通过浏览器浏览此控制器。它将生成完整链接。 喜欢: http://localhost/mydirecotry/forums/post_forum 复制并粘贴代码网址中的完整链接:

答案 2 :(得分:0)

如果您尚未从网址中删除index.php,请将您的jquery文件中的网址更改为:

url : <?php echo base_url('index.php/forums/post_forum') ?>,

或者,如果您已从网址中删除了index.php,请将其更改为:

url : <?php echo base_url('forums/post_forum') ?>,

另外,为了使用base_url()方法,您必须先加载url helper。