jQuery ajax提交表单并将数据发送到备用域

时间:2012-06-12 13:43:05

标签: javascript jquery ajax forms xss

我目前正在研究我正在建造的微型网站的几种可能性。微型网站位于与主站点不同的域中,我们希望使用主站点中的一些表单。但是,我们不会让用户看到主要网站感谢页面提交表单。

我的问题是,是否可以将微博上的表单提交到主要网站表单的操作,所以基本上我想提交一个在http://domain1.com上设置的表单http://domain2.com

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

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你正在与http://en.wikipedia.org/wiki/Same_origin_policy作战 可能的解决方案是使用像http://developer.yahoo.com/javascript/howto-proxy.html

这样的本地代理

答案 2 :(得分:0)

您尝试做的是可能的,但有一些限制。较新的浏览器使用x-access-control-allow-origin等标头支持跨域ajax。 您还可以使用跨域消息传递(请参阅CORS)。为了向后兼容旧版浏览器,easyXDM是一种选择。

另一种选择是构建一个隐藏的iframe,创建一个表单,然后使用一个法线向其发送数据,并将动作指向另一个域。

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

答案 3 :(得分:-1)

您应该可以通过以微观网站形式放置mainsite操作的链接来完成此操作。你也可以通过ajax,通过调用mainsite的url并获取结果来实现它。