2008-08-22 67 views
2

我正在尋找(可以說)從XmlHttpRequest返回數據的正確方法。選擇我看到的是:XmlHttpRequest返回值

  • 純HTML。讓請求格式化數據並以可用格式返回。
    優點:容易被調用頁面消耗。
    缺點:非常僵硬,卡住了固定佈局。

  • XML。讓請求返回XML,並在調用頁面上使用XSLT對其進行格式化。
    優勢:請求的服務很容易被其他來源消耗。
    缺點:瀏覽器對XSLT的支持是否足夠好?

  • JSON。讓請求返回JSON,使用JavaScript消耗它,相應地呈現HTML。
    優勢:更容易'OO-ify'發出請求的JavaScript。
    缺點:可能不像前兩個選項那麼容易使用。

我也想過要去的選項之一,而以這樣的方式接通和斷開不同的佈局將是微不足道的抽象邏輯視圖中被調用的服務。就我個人而言,我認爲這個選項是出於兼容性原因,最好的三個。

鍵入這個時,我得到了另一個洞察力。根據添加到請求中的參數允許所有三種響應格式是否一個好主意?

回答

2

如果你正在尋找一個快速的解決方案,應與大多數現有框架的工作,我d去JSON。開始和工作很容易。

如果你正在嘗試構建一個更大的應用程序,那麼你會擴展(在大小方面或者你自己的第三方擴展API),我會選擇XML。您可以編寫一個代理來提供JSON或HTML格式的信息,但是將XML作爲主要源代碼在構建應用程序時非常值得花時間和精力。

@John Topley說:這取決於。

0

我認爲這種取決於你的應用程序將具有的「ajaxyness」級別。如果你的前端是一個「富客戶端」,al'a gmail,我會用JSON解決方案,因爲你必須解決客戶端視圖生成的問題。如果你謹慎使用ajax,爲用戶提供簡單的消息,不時更新幾個字段等,那麼我會選擇1,因爲你的大部分視圖邏輯已經在服務器上。

0

不同的響應格式不應該很難產生。 JSON最適合我,我喜歡保持OOjs,不知道如何解析XML以及:)

0

我想嘗試使用XMLHttpRequest將是一個巨大的頭痛,除非頭痛的類型,你不介意 - 要做到這一點,你幾乎要重新發明輪子。再次,人們喜歡在業餘時間重新發明輪子,就是說,「嘿,我做到了」。不是我...

我會得到一個像原型或Extjs這樣的框架,它有很多爲XML和JSON內置的數據加載函數,再加上您將獲得更多可預測的結果,因爲框架具有事件處理程序確保您的XmlHttpRequest成功或失敗。另外你可以得到所有各種瀏覽器的支持。