2010-04-21 16 views
4

我通常在jQuery中使用JSON來返回帶有html的字符串。不過,我想開始在我的代碼中使用Javascript對象。我怎樣才能[簡單地]消費業務Web應用程序中的JSON數據

在我的頁面上開始使用json對象最簡單的方法是什麼?

下面是一個示例Ajax調用(當然$(document).ready({ ... })後:

$('#btn').click(function(event) { 
    event.preventDefault(); 
    var out = $('#result'); 
    $.ajax({ url: "CustomerServices.asmx/GetCustomersByInvoiceCount", 
      success: function(msg) { 
      // 
      // Iterate through the json results and spit them out to a page? 
      // 
      }, 
       data: "{ 'invoiceCount' : 100 }" 
    }); 
}); 

我的WebMethod:

[WebMethod(Description="Gets customers with more than n invoices")] 
public List<Customer> GetCustomersByInvoiceCount(int? invoiceCount) { 
    using (dbDataContext db = new dbDataContext()) { 

     return db.Customers.Where(c => c.InvoiceCount >= invoiceCount); 
    } 
} 

什麼獲取返回:

{"d":[{"__type":"Customer","Account":"1116317","Name":"SOME COMPANY","Address":"UNit 1    , 392 JOHN ST.       ","LastTransaction":"\/Date(1268294400000)\/","HighestBalance":13922.34},{"__type":"Customer","Account":"1116318","Name":"ANOTHER COMPANY","Address":"UNIT #345    , 392 JOHN ST.       ","LastTransaction":"\/Date(1265097600000)\/","HighestBalance":549.42}]} 

我想知道,人們通常用這個返回的json做什麼?你是否遍歷了屬性和cre在飛行中吃了一張html表格?

有沒有辦法使用反射JavaScript版本的「綁定」 JSON數據(有點像的.Net GridView控件)

你拋出這個返回的數據爲JavaScript對象,然後用它做什麼?

我想要實現的一個例子是在銷售人員的客戶列表中有一個普通的ol頁面(在移動設備上)。當點擊其中一個客戶時,客戶ID將被髮送到一個Web服務,該Web服務檢索與銷售人員相關的客戶詳細信息。

我知道SO人才庫非常深,所以我想你們在這裏都能夠引導我們走向正確的方向,並就最佳方式給我一些想法。

回答

3

我建議你看看可用的各種客戶端模板解決方案。甚至還有與下一個jQuery版本here進行集成的討論。

我喜歡jTemplate其簡單和小尺寸。但也有其他人。如果你想看到它在行動檢查我們的客戶網站之一here。我們發現,即使對於大量的行(> 1000),它也能很好地縮放。

+0

感謝您的示例網站!看起來你也可以綁定到WCF服務。你更喜歡他們的SOAP? – Armstrongest 2010-04-22 14:49:56

+0

實際上,同樣的WCF服務也暴露了SOAP/XML端點。但這隻適用於後臺服務。前端的流量開銷很大(因子10)。由於我們正在運行100k +個請求/小時,這簡直是無法忍受,而且在jquery中處理rest + json更簡單。我們肯定會這樣做。 – ntziolis 2010-04-22 15:15:25

+0

有趣。說實話,我一直在考慮切換到使用WCF,但我沒有把時間花在WCF上。 – Armstrongest 2010-04-26 14:53:48

相關問題