簡體   English   中英

使用 KnockoutJS/Jquery 在 web 頁面之間傳遞變量的最佳實踐

[英]Best Practise for passing variables between web pages with KnockoutJS/Jquery

我正在用 Jquery 在 knockoutJS 中編寫一個簡單的 web 應用程序。 如果您想象它將由 3 個主要頁面組成(還有更多,但請保持簡單):

  • 登錄頁面
  • 客戶頁面
  • 以前的訂單頁面

每個頁面包含不同的 javascript 包含,並有不同的 CSS styles。 最初我為此使用 ASP MVC,路線如下:

  • /登錄
  • /customer/{customerId}
  • /customer/{customerId}/訂單/

現在我純粹使用 KnockoutJS,頁面實際上是:

  • 登錄.html
  • 客戶主頁.html
  • 客戶訂單.html

現在這是問題的症結所在,當我登錄時。 我聯系了一個 web 服務(舊的 asp mvc 東西暴露為 JSON),然后想將用戶重定向到客戶頁面,但希望他們知道 customerId。

因此,一旦來自登錄的 ajax 請求返回有效用戶 ID,我將需要以某種方式重定向到帶有變量的下一頁。 我的思路是:

location.href = "customer-homepage.html?customerId=1";

但是感覺有點臟,我不知道這種方法是否適合 SEO 目的,因為大多數 SEO 重點似乎都在 url 上,所以理想情況下它應該看起來像 asp mvc 路由。

這讓我開始考慮也許將它作為一個單頁應用程序來做,但使用 hashbang 來重定向,因為我希望能夠在頁面之間切換而不是做一個完整的回帖。 但是我需要從 memory 中卸載一些 JS/CSS,然后加載更新的東西。

我知道這是一個非常模糊的問題,但據我所知,我的選擇是:

  • 使用帶有查詢字符串數據的重定向請求
  • 使用非常棒的一頁應用程序,但需要解決 memory 中現有資源 (JS/CSS) 的卸載問題

我正在構建一個類似的 web 應用程序,我個人認為如果您仍然有三個頁面,這將是一個很好的應用程序邏輯分離。 所有淘汰賽所做的基本上是使您的視圖(html)變得更加愚蠢(正如 MVVM 所建議的那樣)。 並授權您的視圖接管用戶的交互。

但是您的建議似乎類似於擁有一個具有不同視圖模型的視圖,這是不被禁止的,但我認為調試這樣的應用程序會更加困難。

要將信息輸入另一個頁面,只需使用 customerId 進行POST ,然后您的服務器端邏輯可以使用該信息來執行應用程序需要的任何操作。

我個人認為這會解決你所有的問題,但話又說回來,這可能不是一個答案,而是一個意見,你決定:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM