我正在研究一个基本的HTML页面,该页面要求用户将细节发送到位于第三方网站上的脚本。我需要的是让用户填写我的网页上的表格,并将这些信息提交给另一个第三方表格。将表单提交到其他网站上的表单脚本的最佳方式是什么?
除了提交是否成功之外,我不希望向用户返回任何内容。我也不希望用户必须去这个第三方网站使用他们的表格提交。
网站本身建议使用iframe并将其表单保存在您的页面上,但我想知道还有哪些方法可用,最好是更好的方法。如果有某种形式的jQuery/js代码可以用来做这样的事情,那会很好。
我正在研究一个基本的HTML页面,该页面要求用户将细节发送到位于第三方网站上的脚本。我需要的是让用户填写我的网页上的表格,并将这些信息提交给另一个第三方表格。将表单提交到其他网站上的表单脚本的最佳方式是什么?
除了提交是否成功之外,我不希望向用户返回任何内容。我也不希望用户必须去这个第三方网站使用他们的表格提交。
网站本身建议使用iframe并将其表单保存在您的页面上,但我想知道还有哪些方法可用,最好是更好的方法。如果有某种形式的jQuery/js代码可以用来做这样的事情,那会很好。
这会是很好,如果有jQuery的/ js代码某种形式 我可以用做 这样的事情。
一种方法是使用jQuery的$.ajax
or $.post
方法是这样的:
$.ajax({
url: url,
success: function(data) {
alert('succeeded');
}
});
也许你可以用CURLOPT_POST和CURLOPT_POSTFIELDS试试cURL?
你要这样呢?提交到其他网站很简单。但是,我无法检查它是否成功提交。
<form action="http://www.another.com">
<input name="myInput" type="text">
<input type="submit" value="Submit">
</form>
以及它取决于您是否可以控制其他网站。就像你能够访问代码一样。
如果您可以使用JSONP来传递值并获得响应,但要做到这一点,您必须分配一个回调,该回调在JSON对象的前端被发送并格式化,以供其工作(它们为了安全起见这么做)。
另一种选择是使用php ob_start()函数。 (注:这只会工作,如果你试图提交这些值的形式,让$ _GET被用来proccess形式)
ob_start();
include('http://wwww.anotherwebsite.com?key1=value1&key2=value2&key3=value3');
$returnString = ob_get_contents();
ob_end_clean();
因此,然后从这里$ returnString是结果,你基本上可以在php中搜索(strpos()来查看是否真正是我会这样做的)来查找关键词,看看它是否成功或者你需要检查什么。
但是,只有当远程服务器上的表单使用$ _GET而不是$ _POST(或允许通过全局变量)时,这才起作用。
我知道这是一个php的解决方案,但一个警告是,为安全起见,有什么JavaScript可以做跨服务器的严重限制..做跨服务器的最佳的JavaScript方式是JSONP,jQuery支持这么做你可能想看看..但正如我所提到的,为了它的工作,你需要有一个回调能够被发送回响应,并且响应需要是一个jsonp对象格式..(基本上你或者需要1.让另一台服务器有一个jsonp API供您使用,或者您可以控制其他服务器的服务器端文件以进行所需的更改)。
令人惊讶的是,在当今时代,只有将其引导到另一个脚本并使其自动工作并不容易。无论哪种方式,这个代码似乎是做最需要的“最佳”方式,因此得到了我的批准。 – 2010-08-11 10:03:58