是否可以将标准HTML表单(使用jQuery / Ajax)提交到另一个网站上的另一个标准HTML表单?

时间:2014-04-30 16:26:44

标签: jquery ajax forms

我真的很感激这个问题的答案。这实际上是可能的吗?

假设website1.com有一个非常简单的形式:

<form id="form1" name="form1" method="post">
  <input type="text" name="textfield2" id="textfield2">
  <input type="text" name="textfield" id="textfield">
  <input type="submit" name="submit" id="submit" value="Submit">
</form>

然后我在website2.com上复制了这个:

<form id="form1" name="form1" method="post">
  <input type="text" name="textfield2" id="textfield2">
  <input type="text" name="textfield" id="textfield">
  <input type="submit" name="submit" id="submit" value="Submit">
</form>

如果您将website2.com上的表单操作更改为指向website1.com,则可以轻松提交表单数据。这真的很容易。但是,如果您仍想提交数据,可以使用哪些解决方案,但在提交表单时不会被带到website1.com?例如,您可能希望显示自定义成功页面。

我只能想到使用jQuery / Ajax,但是你遇到了跨域安全问题,如果你试图通过使用jsonp来解决这个问题,你最终会得到诸如“Uncaught SyntaxError:Unexpected token&lt”之类的错误;“我只能猜测,因为您要将数据提交到标准HTML表单,而另一端没有任何内容可以给出正确的响应。

你到底怎么做?我变得有点卡住了。或者,除非使用服务器端脚本语言(如PHP?

),否则这种情况实际上是不可能的

1 个答案:

答案 0 :(得分:0)

我将以下内容添加到Apache服务器上的htaccess文件中:

Header set Access-Control-Allow-Origin "*"

参考:http://enable-cors.org/server_apache.html

然后我可以做一个标准的Ajax调用,而不必担心jsonp。

感谢@JohnnyAW提出的建议。