Php Magento:通过ajax向控制器函数传递数据时出错

Php Magento:通过ajax向控制器函数传递数据时出错,php,ajax,magento,model-view-controller,controller,Php,Ajax,Magento,Model View Controller,Controller,我正在使用magento,并试图使用AJAX将表单数据发布到控制器操作,但我遇到了以下错误:=> “跨源请求被阻止:同一源策略不允许在读取远程资源。(原因:CORS标头“访问控制允许源”丢失)。” 我的ajax代码如下:> $j('#customerreg').on('click',function(){ var value = $j('#email').val(); $j.ajax({ ur

我正在使用magento,并试图使用AJAX将表单数据发布到控制器操作,但我遇到了以下错误:=> “跨源请求被阻止:同一源策略不允许在读取远程资源。(原因:CORS标头“访问控制允许源”丢失)。”

我的ajax代码如下:>

$j('#customerreg').on('click',function(){
                var value = $j('#email').val();
                $j.ajax({
                    url:"<?php echo Mage::getUrl("crm/index/Registration")?>",
                    type:"POST",
                    data:$j('#registration').serialize(),
                    success:function(data){
                          console.log(data);
                    }
                });

            });
$j('#customerreg')。在('click',function()上{
var值=$j('#email').val();
$j.ajax({
url:“”,
类型:“POST”,
数据:$j(“#注册”).serialize(),
成功:功能(数据){
控制台日志(数据);
}
});
});

此错误是由于服务器配置引起的。请与服务器团队联系,并告知此错误。他们将挑战性地解决此错误。

问题发生在您的Magento站点与您的Ajax请求url不在同一个域上运行。您需要通过添加“Access Control Allow Origin”头来配置服务器以接受这些调用

浏览器已阻止跨源,您无法使用ajax从javascript向非主机域发出任何请求


如果您无法更改服务器配置,则使用JSONP请求。

看起来您已经知道问题所在。
CORS标头“Access Control Allow Origin”缺失
您可以将其列入白名单或传递正确的标头,或者使用用于chrome开发的CORS override插件