【问题标题】:Creating an API in yii for cross domain communication在 yii 中创建 API 用于跨域通信
【发布时间】:2013-08-09 16:47:51
【问题描述】:

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

UsersController::actionCrossDomain

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

UsersController::_sendResponse 方法与您在 :Click here 中看到的相同

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

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

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

语法错误:标签无效

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

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

【问题讨论】:

标签: javascript jquery api rest yii


【解决方案1】:

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

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

应该是

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

【讨论】:

    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2017-05-28
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多