将表单提交到另一个站点上的表单脚本的最佳方法是什么?

时间:2010-08-05 13:07:00

标签: javascript jquery html post form-submit

我正在开发一个基本的HTML页面,要求用户将详细信息发送到位于第三方网站上的脚本。我要求的是用户在我的网页上填写表格,并将该信息提交给另一个第三方表格。

除了提交是否成功之外,我不希望向用户返回任何内容。我也不希望用户必须使用他们的表单去这个第三方网站提交。

网站本身建议使用iframe并在页面上保留其形式,但我想知道其他什么,最好是更好的方法可供我使用。如果有某种形式的jQuery / js代码可以用来做这样的事情,那就太好了。

4 个答案:

答案 0 :(得分:2)

  

如果有某种形式,那就太好了   我可以用来做的jQuery / js代码   这样的事情。

一种方法是使用jQuery的$.ajax or $.post方法,如下所示:

$.ajax({
  url: url,
  success: function(data) {
    alert('succeeded');
  }
});

答案 1 :(得分:0)

也许你可以用CURLOPT_POST和CURLOPT_POSTFIELDS尝试cURL?

答案 2 :(得分:0)

这取决于你是否也能控制其他网站。就像在你能够访问代码一样。

如果你是,你可以使用JSONP传递值并获得响应,但要做到这一点,你必须分配一个回调,然后在JSON对象的前面发送然后格式化它才能工作(它们可以这是为了安全)。

另一个选择是使用php ob_start()函数。 (注意:这只有在您尝试提交这些值以允许$ _GET用于处理表单的表单时才有效)

        ob_start();
        include('http://wwww.anotherwebsite.com?key1=value1&key2=value2&key3=value3');
        $returnString = ob_get_contents();
        ob_end_clean();

那么从这里$ returnString是结果,你可以基本上搜索(strpos()看看我是怎么做的)在php中找到关键词,看看它是否成功或者什么都有你需要检查。

但是,只有当远程服务器上的表单使用$ _GET而不是$ _POST(或允许通过全局变量)时,这才有效。

我知道这是一个php解决方案,但是一个警告是,为了安全起见,javascript可以跨服务器做什么严重限制...最好的javascript方式做跨服务器是JSONP,jQuery支持所以你可能想要调查一下..但正如我所提到的,为了使它工作,你需要有一个回调能够与响应一起发送回来,并且响应需要采用jsonp对象格式..(基本上你要么需要1.让其他服务器有一个jsonp api供您使用,或者您可以控制其他服务器的服务器端文件以进行所需的更改。

答案 3 :(得分:-1)

你想要那样吗?这是提交到另一个网站的简单形式。但是,我无法检查它是否成功提交。

<form action="http://www.another.com">
<input name="myInput" type="text">
<input type="submit" value="Submit">
</form>