2012年3月31日 星期六

使用jQuery + JSONP + ASP.NET跨網域取得伺服器端資料的方式

JSON是在Javascript中資料物件的一種格式,如果您還不太清楚JSON的格式與意義,或許您可以參考Wiki對於JSON的解說先。
在了解JSON之後,如果沒有跨網域的情況下,可以透過jQuery的$.getJSON輕鬆地從後端取得JSON格式的資料,而在Server端的程式,如果使用ASP.NET的話,也可以透過JSON.NET輕鬆地將.NET裡面的物件,轉成JSON的格式。

以上的範例是一個非常簡單的範例,但是卻顯現出JSONP的最基本精神,透過引用遠端的JS,把要傳遞的資料夾帶在裡面,然後從中呼叫本端的 function來處理傳遞過去的資料。這就是JSONP的最基本精神,只要把剛剛顯示出來的資料,換成JSON的資料,就是JSONP的基本原理了。

有了以上對於JSONP的認識後,接著就來看看要怎麼來透過jQuery的getJSON,從遠端的ASP.NET裡面去取得JSON資料。
需透過【GET】的方式傳遞資料
由於是透過網址去引用遠方的Javascript,因此想當然爾,如果有資料要送給遠端,不可能透過POST的方式做Submit Form,必須透過GET的方式,把要傳遞給遠端Server的資料(例如Key值)帶在QueryString裡面。而希望到時候要呼叫本端的哪個 function名稱,也是透過一個QueryString來傳遞,通常會用【callback】這樣的QueryString變數名稱。



其他詳細文章內容請看這



沒有留言:

張貼留言