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

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

AJAX跨域請求獲取JSON數(shù)據(jù)的實現(xiàn)方法

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

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

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

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) 是一個非官方的協(xié)議,它允許在服務器端集成 Script tags 返回至客戶端,通過 javascript callback 的形式實現(xiàn)跨域訪問(這僅僅是 JSONP 簡單的實現(xiàn)形式)。

2. JSONP有什么用

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

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>'); }); } });

回調(diào)方法的參數(shù)通過 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' },//提交的參數(shù), 沒有參數(shù)可以不寫 callbackKey: 'jsoncallback',//自己定義回調(diào)函數(shù)的參數(shù)名稱 onComplete: function(tweets) { // Log the result to console for inspection console.info('Twitter returned: ',tweets); } }).send();

如果自己定義了回調(diào)函數(shù)的參數(shù)名稱,跟 jquery 一樣

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

Js 代碼如下:

String callback = request.getParameter('jsoncallback');//取得回調(diào)方法名 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 是一種非常有效的,可靠的,容易實現(xiàn)的遠程數(shù)據(jù)獲取方式。JSONP 的策略也使開發(fā)人員能夠避免繁瑣的服務器代理方式,很方便的獲取數(shù)據(jù)。

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

客戶端代碼:

<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]); //循環(huán)輸出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 數(shù)據(jù) $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)'; //動態(tài)執(zhí)行回調(diào)函數(shù) $callback = $_GET['callback']; echo $callback.'($result)';

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

標簽: Ajax
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产日韩专区| 亚洲高清毛片| 视频一区二区欧美| 一本色道久久精品| 老司机久久99久久精品播放免费| 欧美天堂亚洲电影院在线观看| 91精品高清| 99国产精品私拍| 国产精品美女| 亚洲精品福利| 国产精品羞羞答答在线观看| 国产精品大片| 国产第一亚洲| 日韩电影免费网站| 欧美肉体xxxx裸体137大胆| 亚洲激精日韩激精欧美精品| 国产综合欧美| 免费欧美日韩| 日本va欧美va精品发布| 久久99视频| 日韩精品水蜜桃| 先锋影音国产一区| 久久精品凹凸全集| 日本欧美国产| 亚洲激情另类| 91成人精品在线| 麻豆理论在线观看| 伊人精品在线| 久久精品99国产国产精| 欧美激情综合| 日韩国产综合| 欧美日韩四区| 国产亚洲一区二区三区不卡| 麻豆视频一区二区| 欧美+日本+国产+在线a∨观看| 亚洲三级精品| 成人在线视频免费看| 五月婷婷六月综合| 欧美精品影院| 91精品一区二区三区综合在线爱| 亚洲精品伊人| 日韩一区二区在线免费| 天使萌一区二区三区免费观看| 欧美日韩1区2区3区| 国产粉嫩在线观看| 蜜桃视频一区二区三区| 国产精品美女在线观看直播| 久久久亚洲一区| 亚洲精品黄色| 日本在线精品| 日本成人在线一区| 日韩免费小视频| 日韩一区二区三区在线看| 大香伊人久久精品一区二区| 亚洲一区二区三区高清不卡| 国产精品qvod| 欧美日韩四区| 久久中文欧美| 在线观看亚洲精品福利片| 精品一区二区男人吃奶| 99国产精品久久久久久久成人热| 欧美一区91| 亚洲午夜在线| 国产精品久久国产愉拍| 日韩视频不卡| 国产精品国产一区| 亚洲毛片在线| 久久国产精品成人免费观看的软件| 日韩高清不卡一区| 91精品一区二区三区综合| 欧美天堂一区| 国产精品美女久久久| 91亚洲自偷观看高清| 亚洲理论在线| 久久麻豆精品| 精品国产a一区二区三区v免费| 欧美天堂亚洲电影院在线观看| 美女久久久久久 | 九九99久久精品在免费线bt| 99re国产精品| 免费一二一二在线视频| 国产无遮挡裸体免费久久| 99pao成人国产永久免费视频| 国产传媒在线观看| 国产精品色在线网站| 一区二区三区午夜视频| 九色porny丨国产首页在线| 清纯唯美亚洲综合一区| 一区二区三区网站| 红桃视频国产精品| 成人日韩在线观看| 精品国产乱码久久久久久1区2匹 | 亚洲欧美日韩国产一区| 日韩美女一区二区三区在线观看| 国产人成精品一区二区三| 国产免费成人| 免费视频国产一区| 欧产日产国产精品视频| 精品国产一区二区三区av片| 日韩三级精品| 亚洲少妇一区| 蜜臀av免费一区二区三区| 色一区二区三区| 精品视频国内| 国产精品亚洲人成在99www| 亚洲精品第一| 亚洲一区二区免费看| 免费成人网www| 99精品在线观看| 日韩一区自拍| 日韩毛片视频| 久久国产毛片| 久久要要av| 亚洲先锋成人| 99国产精品| 日韩午夜av在线| 欧美日韩国产亚洲一区| 99国产精品私拍| 在线视频亚洲| 亚洲中午字幕| 蜜桃久久久久久久| 免费视频最近日韩| 蜜桃av一区二区| 蜜桃视频免费观看一区| 亚洲精选久久| 久久国际精品| 美女视频黄久久| 激情黄产视频在线免费观看| 91中文字幕精品永久在线| 国产不卡av一区二区| 高清在线一区| 亚洲黄色免费av| 成人免费网站www网站高清| 久久久成人网| 欧美特黄一级| 免费看日韩精品| 亚洲精品国产日韩| 欧美在线精品一区| 久久精品资源| 久久香蕉国产| 在线精品视频一区| 国产欧美一区二区三区国产幕精品 | 91久久午夜| 婷婷久久免费视频| 国产伦精品一区二区三区千人斩 | 国产精品视频首页| 国产不卡一区| 久久精品不卡| 日韩在线一区二区| 亚洲字幕久久| 国产免费久久| 欧美三级精品| 亚洲一区日韩在线| 亚洲精品人人| 国产高清视频一区二区| 国产va在线视频| 在线成人直播| 日韩黄色免费网站| 国内精品麻豆美女在线播放视频| 五月激情久久| 亚洲精品免费观看| 精品国产成人| 国产精品美女久久久浪潮软件| 日韩三区四区| 黄色网一区二区| 欧美天堂亚洲电影院在线观看| 日韩成人精品一区二区三区| 国产精品精品| 美女精品在线| 精品国内亚洲2022精品成人| 亚洲调教视频在线观看| 日本精品在线播放| 成人美女视频| 亚洲日韩视频| 国产专区精品| 热久久国产精品| 精品国产网站| 视频一区视频二区在线观看| 久久精品国产亚洲aⅴ| 亚洲一级黄色| 欧美一区二区三区久久| 神马午夜久久| 国产日韩在线观看视频| 亚洲成人国产| 国产日产一区| 极品裸体白嫩激情啪啪国产精品| 日本不卡高清| 国产精品字幕| 国产精品视频一区二区三区四蜜臂 | 日韩毛片视频| 日韩一二三区在线观看| 97精品在线| 日本三级亚洲精品| 日韩精品一区二区三区免费观影| 日韩精品91亚洲二区在线观看| 少妇精品导航| 国产精品嫩草影院在线看| 黑丝一区二区三区| 国产精品成人a在线观看| 亚洲精选久久|