2009-07-09 51 views
0

我有一個網站,有一個窗體,用戶可以輸入英寸我希望它是一個第三方網站(Autotask)形式與相同的領域的替代。通常情況下,我只需將表單中的動作轉到第三方表單指向的位置,然後爲我自己的字段使用所有相同的ID /名稱值,但存在以下幾個問題:轉發POST數據

Autotask的表單aren'只是簡單的多領域形式。他們導入了至少15個Javascript,這些Javascript使得一些魔法和不可識別的事情發生,並且它們難以閱讀和理解。所以這會導致兩個問題,一個是表單需要很長時間才能加載(4個字段需要5秒鐘左右),另外兩個是如果Autotask改變了所有內容,我需要重做整個表單(非常單調乏味, crapshoot-y,我已經需要做兩次)。

爲了使加載時間更加透明,我將Autotask表單的副本放入iFrame中。通過這種方式,網站的其他部分可以從Autotask登錄過程中包含的昂貴腳本數量中單獨加載。

理想情況下,我希望能夠在我的網站上使用任何名稱和配置,然後將該POST數據發送到我自己的PHP腳本,該腳本會自動(並透明地)提交該數據直接通過Autotask的形式在適當的領域。如果我需要使ID /名稱匹配,那沒關係。我可以在這個網站上使用HTML,Javascript和PHP。

編輯: AUTOTASK內置了GET處理程序的登錄。您會注意到您在登錄時有一個客戶端ID(它將是URL中的「ci」變量)。如果您發送帶有客戶端ID和「用戶名」和「密碼」變量的GET請求,則Autotask的登錄頁面會立即將您轉到客戶端頁面,只要登錄成功。

+1

這是個問題嗎? – 2009-07-09 14:37:32

+1

JavaScript沒有辦法讓事情發生「魔法和不可識別」。難道你不能加載Firebug,並確切地看到從JavaScript發佈什麼值? – 2009-07-09 14:41:05

回答

3

我想很多人會反對這項建議在一般情況下,你是那種黑客別人的應用程序的功能。在這種情況下,我只提出反對意見,因爲他們(Autotask)已經有一個面向外部的API。 http://www.autotask.com/press/news_and_press_releases/071006.htm

我認爲只要利用它並開發在系統約束條件下運行良好的東西,會更好。

+0

啊,我沒有看到API。感謝指針。 – Eli 2009-07-10 01:35:28

0

這樣做的一個非常完整的方法是讓你的頁面加載一個帶有一些通用的id /名稱的表單。有一個PHP腳本,爲他們的正確的ID /名稱,他們的頁面刮到他們的阿賈克斯到你的形式。

,您就不必iframing他們的內容,或對你的初始頁面加載刮他們的網頁的加載時間,他們改變了ID /名字你永遠擁有它最新的方式。

0

AUTOTASK的形式並不只是簡單的木裏場形式。他們導入了至少15個Javascript,這些Javascript使得一些魔法和不可識別的事情發生,並且它們難以閱讀和理解。

聽起來像反垃圾郵件措施,給我嗎?如果是這樣,那麼他們可能會隨着時間而改變。

所以:關注NateDSaint's advice

0

作爲一個後續,事實證明,與Autotask他們有GET處理程序,所以你可以通過GET發送信息。問題解決了。