我在cakephp默认安装的webroot文件夹下有一个文件,我希望得到一个json响应。但是当我尝试这样做时,我得到了这个错误
XMLHttpRequest无法加载http://test.com/companies/all_company_information。 Access-Control-Allow-Origin不允许原点http://dev.local。
$.ajax({
type: 'POST',
url: '/controller/method',
dataType: 'json',
success: function(data){
console.log(data);
}
});
我已经阅读了谷歌上的一些信息,但我想我并不理解这一点。
修改
当我使用jsonp时出现此错误
资源解释为脚本但使用MIME类型text / html传输:
$。AJAX({
type: 'POST',
url: '/controller/method',
dataType: 'jsonp',
success: function(data){
console.log(data);
}
});
答案 0 :(得分:1)
尝试在适当的控制器中创建一个函数,该控制器设置为响应预期的json。配置为使用json响应的控制器:
function feed($date){
$this->layout = 'ajax';
$this->autoLayout = false;
$data = $this->Model->find();
echo json_encode($data);
}
我大量使用firefox扩展firebug以确保我的ajax请求正在通过以及他们的响应是什么。