這次帶給大家json與jsonp使用小結,json與jsonp使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
json
1. json 的值可以是以下這些型別:
① 數字(整數或浮點數) ,例如123,1.23
② 字串(在雙引號中)
③ 邏輯值(true 或false)
④ 陣列(在方括號中)
⑤ 物件(在花括號中)
⑥ null
2. json解析方法
#① eval('(' jsondata ')' ); 使用時永遠是不安全的,程式碼注入
② JSON.parse(jsondata);
JSONLint json:字串校驗工具
3. jQuery 實作ajax
jQuery.ajax([settings])
type :類型
url :發送請求的位址
data :是一個對象,連同請求傳送到伺服器的資料
dataType :預期伺服器傳回的資料類型,如果沒有指定,jQuery 會自動根據HTTP套件MIME資訊來智慧判斷,一般我們採用json 格式,可以設定為”json”
success :是一個方法,請求成功後的的回呼函數,傳入返回後的數據,以及包含成功程式碼的字串
error :是一個方法,請求失敗時呼叫此函數。傳入XMLHttpRequest 物件
jsonp
#跨網域
一個網域位址的組成:
http://www .abc.com :8080 / scripts/jquery.js
協定://子網域.主網域:連接埠號碼/ 要求資源位址
#當協定、子網域、主網域、連接埠號碼中任一個不行同時,都算是不同域
不同網域之間互相請求資源,就算是「跨域」
javascript 出於安全性方面的考慮,不允許跨域呼叫其他頁面的物件。
什麼是跨域呢?簡單的解釋就是因為javascript同源策略的限制,a.com 網域下的js無法操作b.com 或是c.a.com網域下的物件
處理跨域方法:
—— 代理(屬於後台技術)例如在北京的web伺服器的後台來呼叫上海伺服器的服務,看然後再把回應結果回傳給前端,這樣前端呼叫北京同網域的伺服器就和呼叫上海的服務效果相同了。
——JSONP
a網域去聲明,b網域去呼叫
注意:JSONP只能用於GET 請求,不支援POST請求 (限制)
—— XHR2
HTML5 提供的XMLHttpRequest Level2 已經實現了跨域存取以及其他的一些新功能
IE10 以下的版本都不支援
在服務端做一些小小的改造即可:
header("Access-Control-Allow-Origin:"); 表示所有的伺服器都可以訪問,也可以替換成特定的域名,比如說:伺服器在上海,*換成北京伺服器的域名,這樣只有從北京的域名才可以存取
header("Access-Control-Allow-Methods:POST,GET");
下面說下jsonp 的優缺點。
同源策略 :即JavaScript只能存取與包含它的文件在同一網域下的內容。 jsonp可以跨越同源策略,當我們使用了jsonp,將會是另外一種協定通訊了。
JSONP的優點是:它不像XMLHttpRequest物件實現的Ajax請求那樣受到同源策略的限制;它的兼容性更好,在更古老的瀏覽器中都可以運行,不需要XMLHttpRequest或ActiveX的支持;並且在請求完畢後可以透過呼叫callback的方式回傳結果。
JSONP的缺點則是:它只支援GET請求而不支援POST等其它類型的HTTP請求;它只支援跨域HTTP請求這種情況,不能解決不同域的兩個頁面之間如何進行JavaScript呼叫的問題。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是json與jsonp使用小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

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

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

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