我正在研究一個基本的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