2010-11-02 37 views
2

對不起,對於長標題,但我關心的是構建一個基於ajax的應用程序。如何建立一個Ajax的Web應用程序,優雅地倒退如果瀏覽器不支持JavaScript?

我有這個應用程序的版本之一,它不需要javascript的功能,我想遷移這個來使用來自第三方soap web服務的各種資源的ajax。

我該如何建立一個Ajax應用程序,當瀏覽器沒有JavaScript或禁用它仍能正常工作? (服務器端代碼已經過測試並且正在生產中,所以我確實有一個堅實的基礎來回退,但不知道如何以優雅的方式做到這一點。)

我熟悉所有工具(客戶端和服務器端),並計劃使用jQuery框架,但不確定JavaScript未在瀏覽器上運行的部分以及我的應用程序仍可如何運行。

回答

1

JQuery非常擅長爲web應用程序提供「優雅降級」功能。您可以通過在頁面加載後添加功能(通過使用$(document.ready()方法)將AJAX功能應用於非JavaScript頁面。您需要捕獲頁面上的觸發器, ('click()','submit()'等),阻止傳統的瀏覽器事件發生('preventDefault()'),並調用AJAX函數,你可能需要更新和/或構建一些API包裝或Web服務功能(取決於您的環境)來生成AJAX功能可以吸收並呈現給瀏覽器的響應

這是一種非常常見且實踐良好的Web應用程序開發形式。我建議從jQuery documentation開始,如果遇到問題,請在這裏發佈具體問題(帶代碼片段),我相信你會得到很多答案和反饋。祝你好運!

+0

我有jquery的經驗。但是你的回答似乎對我在答案中提到的問題很難處理,而不是以任何具體的方式解決問題。你能解釋一下:1.如何將ajax功能應用於非javascript頁面? – Chris 2010-11-02 21:30:05

+0

如果你正在尋找具體的答案,我只能舉例。並列舉了太多的例子。有很多方法,它取決於應用程序的功能。關於我的頭腦:你用什麼手段來觸發AJAX呼叫?你在使用表單提交嗎?錨標籤?鼠標事件,如拖放?或者你在做一個地圖式界面?或者你可以想到的任何其他界面......你可以做的事情太多了,我無法給你足夠的詳細答案來滿足這個問題。我建議發佈代碼示例。 – 2010-11-02 23:23:52

+0

轉移到ajax的很多原因是爲了減少頁面加載的時間部分。由於soap請求可以被延遲,所以我們不希望用戶等待整個頁面加載,因爲我們可以對所有soap資源進行ajax調用,這樣可以加載頁面的框架,並且當請求是滿意併發送到客戶端瀏覽器。也許一些onclicks /表單提交也是基於ajax的。就代碼而言,我只是盯着新的東西,現在我必須展示的是一些調用soap服務器查詢請求和提供html的php類。 – Chris 2010-11-03 12:13:50

相關問題