我一直在研究一个项目,要求我在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文件目前为空。
非常感谢您的时间,希望有人可以帮助解决这个问题。我之前找到的答案很多没有结果。
真诚的, 尼克
答案 0 :(得分:1)
您需要添加标题以允许跨源ajax调用:
header('Access-Control-Allow-Origin: *');
<{1>}中的。