尝试从外部文件夹执行ajax时收到错误

时间:2012-05-14 00:40:08

标签: jquery cakephp-2.0 cakephp-2.1

我在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);

         }

     });

1 个答案:

答案 0 :(得分:1)

尝试在适当的控制器中创建一个函数,该控制器设置为响应预期的json。配置为使用json响应的控制器:

function feed($date){
$this->layout = 'ajax';
$this->autoLayout = false;
$data = $this->Model->find();
echo json_encode($data);
}

我大量使用firefox扩展firebug以确保我的ajax请求正在通过以及他们的响应是什么。