1

我打算在 yii 中创建一个 Restful API 用于跨域通信。正如我所研究的,跨域通信只能通过jsonp完成,我的实现如下:

用户控制器:: actionCrossDomain

公共函数 actionCrossDomain(){
   $this->布局=假;
   $data['data']['User']['name']='Johny';
   $this->_sendResponse(200, CJSON::encode($data),'application/json');

}

UsersController::_sendResponse 方法与您在中看到的相同:单击此处

在我使用虚拟主机配置的另一台服务器上,我通过 ajax 调用上述方法:

  $( 文档 ).ready(function() {
         $.ajax({
           类型:“发布”,
           数据类型:“jsonp”,
           url:'http:'http//uxaserver.local/alpha2/app/users/crossDomain',
           数据:空,
           处理数据:假,
           跨域:是的,
           内容类型:“应用程序/json”,
           成功:函数(数据){
                     console.log("完成");
            },
            错误:功能(请求,状态,错误){
                         控制台.log(请求);
                   }
        });
});

问题是我的萤火虫正在抱怨:

语法错误:标签无效

我的要求是这样的,因为我正在帮助我的客户对他的其他网站进行一些定制的分析,我需要在他的不同域的网页中放置一个脚本,以便将分析数据记录在主服务器中。我了解我需要使用其余接口进行通信,因此我采用了这种方法。我不确定我是否采取了正确的方法,请指教。我想以一种客户端具有 api 密钥并且可以与我提供的 api 进行通信的方式来实现它。

有没有其他方法可以做到这一点?而不是jsonp?

4

1 回答 1

0

正如我看到这个字符串内容错误

url:'http:'http//uxaserver.local/alpha2_uxarmy/app/users/crossDomain' ,

应该

url:'http//uxaserver.local/alpha2_uxarmy/app/users/crossDomain' ,
于 2013-10-23T15:05:00.737 回答