日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

AJAX跨域請求獲取JSON數據的實現方法

瀏覽:201日期:2022-06-14 13:26:18
目錄jQuery 的 JSONP1. 什么是 JSONP2. JSONP有什么用MooTools JSONPDojo JSONP

Asynchronous JavaScript and XML (AJAX ) 是驅動新一代 Web 站點(流行術語為 Web 2.0 站點)的關鍵技術。Ajax 允許在不干擾 Web 應用程序的顯示和行為的情況下在后臺進行數據檢索。使用 XMLHttpRequest 函數獲取數據,它是一種 API,允許客戶端 JavaScript 通過 HTTP 連接到遠程服務器。Ajax 也是許多 mashup 的驅動力,它可將來自多個地方的內容集成為單一 Web 應用程序。

我們都知道,由于受到瀏覽器的限制,AJAX 是不允許跨域請求。不過可以通過使用 JSONP 來實現。JSONP 是一種通過腳本標記注入的方式,它是可以引用跨域 URL 的 js 腳本,不過需要提供一個回調函數(必須在您自己的頁面上),因此,你可以自己處理結果。 本文介紹了 JSONP 的是怎么在 jQuery,MooTools 的,Dojo Toolkit 中實現的。

jQuery 的 JSONP1. 什么是 JSONP

要了解 JSONP,不得不提一下 JSON,那什么是 JSON?

JSON is a subset of the object literal notation of JavaScript. Since JSON is a subset of JavaScript, it can be used in the language with no muss or fuss.

JSONP(JSON with Padding) 是一個非官方的協議,它允許在服務器端集成 Script tags 返回至客戶端,通過 javascript callback 的形式實現跨域訪問(這僅僅是 JSONP 簡單的實現形式)。

2. JSONP有什么用

由于同源策略的限制,XmlHttpRequest 只允許請求當前源(域名、協議、端口)的資源,為了實現跨域請求,可以通過 script 標簽實現跨域請求,然后在服務端輸出 JSON 數據并執行回調函數,從而解決了跨域的數據請求。

jQuery.getJSON 方法:

Js 代碼如下:

jQuery.getJSON('http://search.twitter.com/search.json?callback=?',{ q: 'Arsenal' },function(tweets) { // Handle response here console.info('Twitter returned: ',tweets); });

或者類似

Js 代碼如下:

$.ajax({ type:'get', data:'random = '+Math.random(), url:url, dataType:'jsonp', jsonp:'callback', success:function(data){ $.each(data, function(key, val) { $('#myDiv').html($('#myDiv').html()+val.cvalue+'</br>'); }); } });

回調方法的參數通過 getJSON 就可以獲取到 json 對象

MooTools JSONP

MooTools 需要 Request.JSONP Class,可以從這里下載 MooTools More。選擇 Request.JSONP

這樣從另一個域獲取 JSON 就是小菜一碟了

Js 代碼如下:

new Request.JSONP({ url: 'http://search.twitter.com/search.json', data: { q: 'Arsenal' },//提交的參數, 沒有參數可以不寫 callbackKey: 'jsoncallback',//自己定義回調函數的參數名稱 onComplete: function(tweets) { // Log the result to console for inspection console.info('Twitter returned: ',tweets); } }).send();

如果自己定義了回調函數的參數名稱,跟 jquery 一樣

服務器端你需要這樣去取得:

Js 代碼如下:

String callback = request.getParameter('jsoncallback');//取得回調方法名 response.setHeader('Cache-Control', 'no-cache'); response.setContentType('text/json;charset = UTF-8'); PrintWriter out; try { out = response.getWriter(); out.print(callback+'('+message+')');//這里是關鍵.主要就是這里 out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); }

順便說一句:個人比較喜歡 mootools 的語法結構,和框架設計思路,再次贊美!

Dojo JSONP

JSONP 在 Dojo Toolkit 中需要用上 dojo.io.script (點擊可以查看示例)

Js 代碼如下:

// dojo.io.script is an external dependency, so it must be required dojo.require('dojo.io.script'); // When the resource is ready dojo.ready(function() { // Use the get method dojo.io.script.get({ // The URL to get JSON from Twitter url: 'http://search.twitter.com/search.json', // The callback paramater callbackParamName: 'callback', // Twitter requires 'callback' // The content to send content: { q: 'Arsenal' }, // The success callback load: function(tweetsJson) { // Twitter sent us information! // Log the result to console for inspection console.info('Twitter returned: ',tweetsJson); } }); });

JSONP 是一種非常有效的,可靠的,容易實現的遠程數據獲取方式。JSONP 的策略也使開發人員能夠避免繁瑣的服務器代理方式,很方便的獲取數據。

JSONP (JSON with Padding) 是一個非官方的協議,它允許在服務器端集成 Script tags 返回至客戶端,通過 javascript callback 的形式實現跨域訪問(這僅僅是 JSONP 簡單的實現形式)。

客戶端代碼:

<meta content='text/html; charset=utf-8' http-equiv='Content-Type' /> <script type='text/javascript'> function jsonpCallback(result) {//alert(result);for(var i in result) { alert(i+':'+result[i]); //循環輸出a:1, b:2, etc.} } var JSONP=document.createElement('script'); JSONP.type = 'text/javascript'; JSONP.src = 'http://crossdomain.com/services.php?callback = jsonpCallback'; document.getElementsByTagName('head')[0].appendChild(JSONP); </script>

服務端代碼:

<?php //服務端返回 JSON 數據 $arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); $result=json_encode($arr); //echo $_GET['callback'].'('Hello,World!')'; //echo $_GET['callback'].'($result)'; //動態執行回調函數 $callback = $_GET['callback']; echo $callback.'($result)';

到此這篇關于AJAX跨域請求獲取JSON數據的文章就介紹到這了,更多相關AJAX跨域請求獲取JSON數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Ajax
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲精品美女久久久久久久久久| 亚洲毛片在线免费| 激情婷婷亚洲| 精品入口麻豆88视频| 亚洲免费成人av在线| 午夜免费一区| 激情六月综合| 久久激情一区| 国产91欧美| 韩国女主播一区二区三区| 久久激情五月婷婷| 亚洲欧美网站在线观看| 国产婷婷精品| 国产韩日影视精品| 99精品视频在线| 成人欧美一区二区三区的电影| 狠狠久久伊人中文字幕| 国产精品18| 久久免费大视频| 亚洲涩涩在线| 国产手机视频一区二区| 中文不卡在线| 99精品99| 欧美a级片一区| 亚洲欧洲高清| 电影亚洲精品噜噜在线观看| 欧美一区激情| 日韩中文在线播放| 在线一区视频观看| 国产一区二区三区探花| 麻豆高清免费国产一区| 视频一区日韩精品| 国产精品欧美在线观看| 国产精品视频一区二区三区综合| 国产亚洲字幕| 国产精品久久观看| 神马午夜在线视频| 久久精品官网| 国产一区亚洲| 日本aⅴ免费视频一区二区三区| 日本成人手机在线| 天堂成人国产精品一区| 四虎影视精品| 亚洲高清久久| 黄色av一区| 免费国产自线拍一欧美视频| 国产精品一区二区三区美女| а√天堂8资源在线| 久久蜜桃精品| 久久福利精品| 麻豆成人av在线| 在线中文字幕播放| 99国产精品一区二区| 中文字幕av一区二区三区人| 日韩av一区二区三区四区| 欧美久久香蕉| 高清久久精品| 噜噜噜躁狠狠躁狠狠精品视频| 午夜一级久久| 欧美日韩1区| 999国产精品| 日韩综合一区二区三区| 久久国内精品| 一级欧美视频| 国产一区福利| 亚洲午夜黄色| 亚洲精品乱码| 日韩亚洲一区在线| 视频在线观看91| 国产欧美自拍| 久久久91麻豆精品国产一区| 亚洲黄页一区| 欧美日韩91| 国产一区二区三区精品在线观看| 国产精品嫩草99av在线| 国产精品久久久久久久久免费高清| 成人影视亚洲图片在线| 亚洲午夜免费| 午夜av不卡| 亚洲在线久久| 久久久久久色 | 国产精品久久久久久妇女| 九九99久久精品在免费线bt| 五月天综合网站| 亚洲精品动态| 日韩欧美精品综合| 亚洲免费观看高清完整版在线观| 午夜精品成人av| 天堂久久一区| 国产成人精选| 日韩1区2区日韩1区2区| 亚洲91精品| 国产精品亚洲产品| 91久久视频| 久久婷婷国产| 蜜桃视频一区二区三区| 老司机免费视频一区二区| 9色国产精品| 日产精品一区二区| 日本一区二区三区中文字幕| 日本视频在线一区| 91久久中文| 9999国产精品| 国产日韩免费| 日韩综合一区二区三区| 久久在线免费| 国产成人调教视频在线观看| 国产欧美在线观看免费| 国产精品社区| 日韩在线二区| 国产精品丝袜在线播放| 欧美jjzz| 精品香蕉视频| 亚州精品视频| 少妇精品久久久一区二区| 亚洲一级黄色| 伊人网在线播放| 国产精品videosex极品| 欧美一区精品| 亚洲精品大全| 国产麻豆综合| 久久久久中文| 国产一区二区久久久久| 你懂的亚洲视频| 国产午夜久久av| 亚洲精品国产精品粉嫩| 一区在线免费观看| 韩国三级一区| 国产一区调教| 97se综合| 欧美日韩视频网站| 美女视频黄免费的久久| 亚洲精品电影| 精品精品国产三级a∨在线| 国产精品久久久网站| 久久午夜影院| 99久久夜色精品国产亚洲1000部| 蜜桃久久精品一区二区| 日本少妇一区二区| 视频一区二区中文字幕| 久久国产福利| 精品国产欧美日韩| 亚洲少妇自拍| 国产探花在线精品| 欧美在线影院| 国产一区二区三区四区五区| 91综合久久爱com| 亚洲欧美网站在线观看| 麻豆视频久久| 欧美亚洲精品在线| 日本大胆欧美人术艺术动态| 亚洲精品麻豆| 国产精品对白| 久久精品国产精品亚洲毛片| av在线最新| 中文精品在线| 国产午夜精品一区在线观看| 日韩高清不卡一区二区| 国产精品xxx| 国产精品伦理久久久久久| 亚洲不卡系列| 六月婷婷一区| 久久gogo国模啪啪裸体| 高清一区二区三区av| 亚洲午夜久久久久久尤物| 三级欧美韩日大片在线看| 国产精品麻豆成人av电影艾秋| 欧美韩日一区| 免费人成精品欧美精品| 麻豆久久久久久| 亚洲小说欧美另类婷婷| 日韩三级一区| 另类欧美日韩国产在线| 蜜臀av免费一区二区三区| 日韩激情av在线| 亚洲黄色免费看| 天堂成人国产精品一区| 久久女人天堂| 久久亚洲国产精品一区二区| 美女高潮久久久| 午夜日韩在线| 国产精品美女在线观看直播| 免费久久久久久久久| 国产亚洲精品美女久久| 久久久久亚洲| 久久狠狠久久| 五月综合激情| 国产日韩一区二区三免费高清| 久久婷婷一区| 欧美日韩一区自拍| 久久视频国产| 国产精品第十页| 国产精品色网| 国产精品99在线观看| 中文字幕免费一区二区| av免费不卡国产观看| 亚洲精品伊人| 亚洲午夜黄色| 精品视频国内| 综合国产视频|