ajax跨域发布到php kohana 3.2不起作用
我有两个(本地)子域:ajax跨域发布到php kohana 3.2不起作用,php,jquery,ajax,cross-domain,kohana,Php,Jquery,Ajax,Cross Domain,Kohana,我有两个(本地)子域:kohana.local.com和wordpress.local.com。jQuery插件(.js)位于kohana.local.com域上,负责对两个域上的文章进行评级和检索评级计数。控制器额定值扩展控制器。方法(action_getrating)具有以下代码(kohana 3.2): Ajax调用: $.ajax({ type: "POST", url: "http://kohana.local.com/rating/getrating", da
kohana.local.com
和wordpress.local.com
。jQuery插件(.js)位于kohana.local.com域上,负责对两个域上的文章进行评级和检索评级计数。控制器额定值扩展控制器。方法(action_getrating)具有以下代码(kohana 3.2):
Ajax调用:
$.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\u ajax()
发出的,则该方法不是“post”,而是“get”。原因是什么?如何使其发挥作用?Post是必需的,is_ajax有利于安全性和验证
提前谢谢
编辑:
发布到jsonp是不可能的,所以我不能使用这种方法。我必须尝试找到json方向的解决方案,您可以简单地使用
json
dataType,因此不需要使用回调。只需将headeraccesscontrolalloworigin
添加到发出请求的服务器(kohana.local.com)
允许所有域:
Access-Control-Allow-Origin: *
或指定允许的域:
Access-Control-Allow-Origin: http://wordpress.local.host
规格:
多域解决方案:谢谢您的回答。虽然我可以根据您的建议检测post方法,但kohana不会保留会话,而且我无法再跟踪已登录的用户,因此我无法使用此方法。在任何其他情况下,这都可能是解决方案。感谢您的努力和有用的信息!我不能给你们+1的答案,我的代表太低了:)JSONP使用GET,它不是AJAX调用。删除post&is_ajax检查,添加CSRF安全令牌。呵呵,你比我强。你发布此消息时,我正在编辑问题
Access-Control-Allow-Origin: http://wordpress.local.host