0

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

         }

     });
4

1 回答 1

1

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

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

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

于 2012-05-16T17:59:24.597 回答