這次帶給大家jQuery+JSONP跨域需要怎麼實現,jQuery+JSONP跨域實現的注意事項有哪些,下面就是實戰案例,一起來看一下。
了解了jsonp之後,大家應該也都明白了,jsonp主要就是用來實現跨域的獲取數據,今天我們就來詳細探討下如何在實際中應用jsonp實現跨域
JSONP(JSON with Padding)是JSON的一種“使用模式”,可用於解決主流瀏覽器的跨域資料存取的問題。由於同源策略,一般來說位於 server1.example.com 的網頁無法與不是 server1.example.com的伺服器溝通,而 HTML 的<script> 元素是例外。利用 <script> 元素的這個開放策略,網頁可以得到從其他來源動態產生的 JSON 資料,而這個使用模式就是所謂的 JSONP。用 JSONP 抓到的資料不是 JSON,而是任意的JavaScript,用 JavaScript 直譯器執行而不是用 JSON 解析器解析。 </script>
上面一段話來自百度百科,概念永遠是那麼抽象難懂,看例子才是最直觀的表現。例子看的多了,領悟到那個點了,自然自己也會學著抽象的描述了。這就是為什麼常說「學習知識是從薄到厚,又由厚到薄的過程」。好了扯遠了。下面直接來看一個例子。
問題:本地現有一個頁面demo.html需要從http://localhost:3561/User/GetAllNames取得資料並展示。
解答:由於問題中的兩方不在同一伺服器,故需要使用jsonp來跨網域存取。
① 客戶端編寫
客戶端使用jQuery中提供的$.getJson方法來跨網域存取。 getJson有3個參數:
I. url:請求位址;
II. data:傳送至服務端的參數;
# ⃀函數時的回調。 。
getJson的使用方法和普通的$.get方法基本上一致,不同的地方在於getJson需要在url後面的參數部分加上callback=?這一固定部分,jQuery 將自動替換? 為正確的函數名,以執行回呼函數。然後在回呼函數中操作從異域返回的json對象,回呼函數callback的參數即為該json對象。
nbsp;html> <meta> <title></title>
② 服務端編寫
服務端的邏輯主要是將資料序列化為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[i] + ""); } } });
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是jQuery+JSONP跨域需要怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

HTML5(H5)與舊版本HTML的主要區別包括:1)H5引入了語義化標籤,2)支持多媒體內容,3)提供離線存儲功能。 H5通過新標籤和API增強了網頁的功能和表現力,如和標籤,提高了用戶體驗和SEO效果,但需注意兼容性問題。

H5和HTML5的區別在於:1)HTML5是網頁標準,定義結構和內容;2)H5是基於HTML5的移動網頁應用,適用於快速開發和營銷。

HTML5的核心特性包括語義化標籤、多媒體支持、表單增強和離線存儲與本地存儲。 1.語義化標籤如、等提高了代碼可讀性和SEO效果。 2.多媒體支持通過和標籤簡化了嵌入媒體內容的過程。 3.表單增強引入了新的輸入類型和驗證屬性,簡化了表單開發。 4.離線存儲和本地存儲通過ApplicationCache和localStorage等提高了網頁性能和用戶體驗。

html5isamajorrevisionofthehtmlStandardThatRevolutionsWebDevelopmentBybyIntroDucingNewSemanticeLementSemelementsandAndCapabilities.1)itenhancesCodereAdabilityAndSeowitability andSeowithelientsLike,and.2)

H5的高級技巧包括:1.利用進行複雜圖形繪製,2.使用WebWorkers提升性能,3.通過WebStorage增強用戶體驗,4.實現響應式設計,5.利用WebRTC實現實時通信,6.進行性能優化和最佳實踐。這些技巧幫助開發者構建更動態、互動和高效的Web應用。

H5(HTML5)將通過新元素和API提升網頁內容和設計。 1)H5增強了語義化標記和多媒體支持。 2)它引入了Canvas和SVG,豐富了網頁設計。 3)H5的工作原理是通過新標籤和API擴展HTML功能。 4)基本用法包括使用創建圖形,高級用法涉及WebStorageAPI。 5)開發者需注意瀏覽器兼容性和性能優化。

H5帶來了多項新功能和能力,極大提升了網頁的互動性和開發效率。 1.語義化標籤如、增強了SEO。 2.多媒體支持通過和標籤簡化了音視頻播放。 3.Canvas繪圖提供了動態圖形繪製工具。 4.本地存儲通過localStorage和sessionStorage簡化了數據存儲。 5.地理位置API便於開發基於位置的服務。

HTML5帶來了五個關鍵改進:1.語義化標籤提升了代碼清晰度和SEO效果;2.多媒體支持簡化了視頻和音頻嵌入;3.表單增強簡化了驗證;4.離線與本地存儲提高了用戶體驗;5.畫布與圖形功能增強了網頁的可視化效果。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能