Codeigniter - Ajax请求,无论如何找到控制器但404?

时间:2014-03-12 10:57:53

标签: php ajax security codeigniter-2

我一直在研究一个项目,要求我在codeigniter中对控制器进行ajax调用。本地网站工作正常,但上传到我的webhost(Versio)后停止工作。

出于某种原因,似乎ajax调用找到了控制器,但无论如何都给了我404错误。我认为它实际上找到控制器的原因是因为当我更改url时,对它进行了AJAX请求,它显示了一个不同的404页面,而不是标准的CodeIgniter 404页面。

我的请求如下:

var baseURL = "http://sitename.com/index.php/";

    $.ajax({
        type: "POST",
        url: baseURL+"Encounter/startEncounter",
        dataType: "json",
        cache: false,
        success: function(data) {
            alert(data);
        }
    });

我的配置文件如下所示:

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/';

$config['index_page'] = '';

$config['uri_protocol'] = 'AUTO';

XSS过滤已启用且CSRF已关闭。

我的默认控制器看起来像这样,加载得很好:

$route['default_controller'] = "index";

我的HtAccess文件目前为空。

非常感谢您的时间,希望有人可以帮助解决这个问题。我之前找到的答案很多没有结果。

真诚的, 尼克

1 个答案:

答案 0 :(得分:1)

您需要添加标题以允许跨源ajax调用:

header('Access-Control-Allow-Origin: *');
<{1>}中的