2012-06-12 83 views
0

我目前正在研究一些我正在构建的微型网站的可能性。微型站点位于与主站点不同的域上,我们希望使用主站点中的一些表单。不过,我们不会让用户看到主要网站感谢页面提交表单。jQuery ajax提交表单并将数据发送到替代域

我的问题是,是否有可能将微型网站上的表格提交给主要网站表单的操作,所以基本上我想提交的表单设置在http://domain1.comhttp://domain2.com之间。

由于跨站点脚本等原因,我能做到这一点吗?

回答

0

使用普通的AJAX这是不可能的,没有。

你需要使用某种类型的本地代理来实现这一目标。表单应该将数据提交给同一个域上的服务器端脚本。该脚本应该将数据(使用cURL等)提交到远程位置,并将任何响应返回给表单。

+0

对不起,但不适用于较新的浏览器。请参阅X-access-control-allow-origin – Erlend

+0

@但的确如此,但在典型的Microsoft时尚环境中,您需要一个适用于IE8/IE9的愚蠢解决方法,而且它在IE7中根本无法实现,如果那样的话,很多人。 –

-1

您应该能够通过将链接mainsite在微型形式的行动来做到这一点。你也可以通过ajax实现它,通过调用main网址的URL并获取结果。

+0

这不可能通过AJAX(他指定),因为你不能提交AJAX请求到不同的域。 –

+0

没问题..我们可以从diff域获取数据..但是不能提交...?正确.. –

0

本地代理您正在尝试做什么是可能的,但有一些限制。较新的浏览器支持使用x-access-control-allow-origin等标题跨域ajax。 您也可以使用跨域消息传递(请参阅CORS)。为了与旧版浏览器兼容,easyXDM是一个选项。

另一种选择是建立一个隐藏的iframe,创建一个表单,并发送数据有使用正常的,用行动指向其他域。

请记住,跨站请求伪造可能是一个问题。你如何阻止其他网站发布到相同的网址。