我有一個使用VB.NET MVC作爲服務器端代碼的Web應用程序。我設置了客戶端JavaScript來輕鬆地向服務器控制器功能發送和接收數據。基本上我做的是創建一個JavaScript「請求」對象,它使用Ajax調用控制器函數並傳入參數。我讓MVC爲我做所有的序列化。然後控制器函數返回一個JSON,通常以一個HTML塊作爲字符串。由於我在一個地方處理所有的ajax調用,所以我找不到處理響應的好方法。當ajax響應返回時,我無法知道它來自哪個請求。該網站有很多事情要做,所有的迴應都需要以不同的方式處理,並且都會返回不同的數據。處理多個aiax請求和響應的最佳方式是什麼?
現在我所做的是在控制器功能中,我發回一些關鍵字以及HTML塊,然後在ajax complete函數中檢查所有這些特定的鍵。這樣做使JavaScript代碼難以管理。
var postData = { id=0 };
$.ajax({
type: "POST",
url: "/Controller/Action/"
data: postData
}).done(function (data) {
if (data.Foo) {
Foo(data);
} else if(data.Bar) }
Bar(data);
}
});
我遇到了麻煩,因爲我不知道要查找哪些關鍵字。我想我會嘗試做一些我在ajax done函數中動態調用函數名稱的地方,但我想知道是否有任何現有的庫或代碼示例執行像這樣的大規模ajax請求函數。