2010-08-05 33 views
0

我正在研究一個基本的HTML頁面,該頁面要求用戶將細節發送到位於第三方網站上的腳本。我需要的是讓用戶填寫我的網頁上的表格,並將這些信息提交給另一個第三方表格。將表單提交到其他網站上的表單腳本的最佳方式是什麼?

除了提交是否成功之外,我不希望向用戶返回任何內容。我也不希望用戶必須去這個第三方網站使用他們的表格提交。

網站本身建議使用iframe並將其表單保存在您的頁面上,但我想知道還有哪些方法可用,最好是更好的方法。如果有某種形式的jQuery/js代碼可以用來做這樣的事情,那會很好。

回答

2

這會是很好,如果有jQuery的/ js代碼某種形式 我可以用做 這樣的事情。

一種方法是使用jQuery的$.ajax or $.post方法是這樣的:

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

令人驚訝的是,在當今時代,只有將其引導到另一個腳本並使其自動工作並不容易。無論哪種方式,這個代碼似乎是做最需要的「最佳」方式,因此得到了我的批准。 – 2010-08-11 10:03:58

0

也許你可以用CURLOPT_POST和CURLOPT_POSTFIELDS試試cURL?

-1

你要這樣呢?提交到其他網站很簡單。但是,我無法檢查它是否成功提交。

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

以及它取決於您是否可以控制其他網站。就像你能夠訪問代碼一樣。

如果您可以使用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供您使用,或者您可以控制其他服務器的服務器端文件以進行所需的更改)。

相關問題