這次帶給大家jQuery JSONP跨域請求的使用步奏詳解,使用jQuery JSONP跨域請求的注意事項有哪些,下面就是實戰案例,一起來看一下。
JSONP(JSON with Padding)是JSON的一種“使用模式”,可用於解決主流瀏覽器的跨域資料存取的問題。由於同源策略,一般來說位於 server1.example.com 的網頁無法與不是 server1.example.com的伺服器溝通,而 HTML 的
② 服務端寫
服務端的邏輯主要是將資料序列化為json字串,然後封裝成"callback(json)"的形式,callback為jQuery自動產生並傳到服務端的函式名稱。下面使用C#實作:
public class UserController : Controller { public string GetAllNames(string callback) { string[] names = new string[] { "张三丰", "张无忌", "令狐冲", "杨过", "郭靖" }; JavaScriptSerializer jss = new JavaScriptSerializer(); string json = jss.Serialize(names); return string.Format("{0}({1})", callback, json); } }
至此,便成功解決了問題。
思考:如果服務端已經寫死了callback(如:return string.Format("moty({0})", json);),那麼客戶端該怎麼寫呢?
參考:
$.ajax("http://localhost:3561/User/GetAllNames", { jsonpCallback: "moty", dataType: "jsonp", success: function(json) { for (var i = 0; i < json.length; i++) { $("#nameList").append("
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀: