我有 2 个(本地)子域:kohana.local.com
和wordpress.local.com
. jQuery 插件 (.js) 位于 kohana.local.com 域,负责对两个域的文章进行评分和检索率计数。Controller_Rating 扩展了控制器。方法(action_getrating)具有以下代码(kohana 3.2):
if($this->request->post() && $this->request->is_ajax()){
$this->auto_render = FALSE;
echo "{$_REQUEST['callback']}(".json_encode($data).")";
}
阿贾克斯调用:
$.ajax({
type: "POST",
url: "http://kohana.local.com/rating/getrating",
dataType: "jsonp",
data: { some_id: id },
success: function(json){
//do something
}
});
当从 kohana.local.com 发出 ajax 调用时,一切正常。如果它是从 wordpress.local.com 发出的,则它$this->request->is_ajax()
是错误的,并且方法不是“发布”,而是以某种方式“获取”。这是什么原因,以及如何使其发挥作用?Post 是必需的,is_ajax 有利于安全和验证。
提前致谢。
编辑: 发布到 jsonp 是不可能的,所以我不能使用这种方法。我将不得不尝试在 json 的方向上找到解决方案