亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > AJAX > 正文

JSONP跨域GET請求解決Ajax跨域訪問問題

2024-09-01 08:32:58
字體:
來源:轉載
供稿:網友
本文主要是介紹了JSONP跨域是如何實現的,并探討下JSONP跨域的原理。以及采用JSONP跨域GET請求解決Ajax跨域訪問問題,需要的朋友可以參考下
 
 

前幾天,工作上有一新需求,需要前端web頁面異步調用后臺的Webservice方法返回信息。實現方法有多種,本例采用jQuery+Ajax,完成后,在本地調試了一切ok,但是部署到服務器上以后就出現問題了,后臺服務調用沒有響應,怎么回事?代碼沒怎么改動,唯一修改的地方就是jQuery的ajax方法中的url地址。難道是這里的問題,經過檢查和調試,發(fā)現原來是同源策略在作怪,我們知道,JavaScript或jQuery是在Web前端開發(fā)中經常使用的動態(tài)腳本技術。在JavaScript中,有一個很重要的安全性限制,被稱為“Same- Origin Policy”(同源策略)。這一策略對于JavaScript代碼能夠訪問的頁面內容做了很重要的限制,即JavaScript只能訪問與包含它的文檔或腳本 在同一域名下的內容。不同域名下的腳本不能互相訪問,即便是子域也不行。關于同源策略,讀者可百度更詳細的解釋,這里不再贅述。

但是有時候又不可避免地需要進行跨域操作,這時候“同源策略”就是一個限制了,怎么辦呢?采用JSONP跨域GET請求是一個常用的解決方案,下面我們來看一下JSONP跨域是如何實現的,并探討下JSONP跨域的原理。

這里提到了JSONP,那有人就問了,它同JSON有什么區(qū)別不同和區(qū)別呢,接下我們就來看看,百度百科有以下說明:

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(網絡傳輸速度快)。

JSONP(JSON with Padding)是JSON的 一種“使用模式”,可用于解決主流瀏覽器的跨域數據訪問的問題。由于同源策略,一般來說位于 server1.example.com 的網頁無法與不是 server1.example.com的服務器溝通,而 HTML 的<script> 元素是一個例外。利用 <script> 元素的這個開放策略,網頁可以得到從其他來源動態(tài)產生的 JSON 資料,而這種使用模式就是所謂的 JSONP。用 JSONP 抓到的資料并不是 JSON,而是任意的JavaScript,用 JavaScript 直譯器執(zhí)行而不是用 JSON 解析器解析。

到這里,應該明白了,JSON是一種輕量級的數據交換格式,像xml一樣,是用來描述數據間的。JSONP是一種使用JSON數據的方式,返回的不是JSON對象,是包含JSON對象的javaScript腳本。

那JSONP是如何工作的呢,我們知道,由于同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源。若要跨域請求出于安全性考慮是不行的,但是我們發(fā)現,Web頁面上調用js文件時則不受是否跨域的影響,而且擁有”src”這個屬性的標簽都擁有跨域的能力,比如<script>、<img>、<iframe>,這時候,聰明的程序猿就想到了變通的方法,如果要進行跨域請求, 通過使用html的script標記來進行跨域請求,并在響應中返回要執(zhí)行的script代碼,其中可以直接使用JSON傳遞 javascript對象。即在跨域的服務端生成JSON數據,然后包裝成script腳本回傳,著不就突破同源策略的限制,解決了跨域訪問的問題了么。

下面我們就看下怎么實現:

前端代碼:

 

復制代碼代碼如下:

function CallWebServiceByJsonp() {
        $("#SubEquipmentDetails").html('');
        $.ajax({
            type: "GET",
            cache: false,
            url: "http://servername/webservice/webservice.asmx/GetSingleInfo",
            data: { strCparent: $("#Equipment_ID").val() },
            dataType: "jsonp",
            //jsonp: "callback",
            jsonpCallback: "OnGetMemberSuccessByjsonp"
        });
}
function OnGetMemberSuccessByjsonp(data) {
    //處理data
    alert(data);
}

 

后端的WebService代碼:

 

復制代碼代碼如下:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public void GetSingleInfo(string strCparent)
{
    string ret = string.Empty;
    HttpContext.Current.Response.ContentType = "application/json;charset=utf-8";
    string jsonCallBackFunName = HttpContext.Current.Request.Params["callback"].ToString();
    //string jsonCallBackFunName1 = HttpContext.Current.Request.QueryString["callback"].Trim();
    //上面代碼必須
    //中間代碼執(zhí)行自己的業(yè)務操作,可返回自己的任意信息(多數據類型)
    BLL.equipment eq_bll = new BLL.equipment();
    List<Model.equipment> equipmentList = new List<Model.equipment>();
    equipmentList = eq_bll.GetModelEquimentList(strCparent);
    ret = JsonConvert.SerializeObject(equipmentList);
    //下面代碼必須
    HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, ret));
    HttpContext.Current.Response.End();
}

 

如上所示,前端的CallWebServiceByJsonp方法采用jQuery的ajax方法調用后端的Web服務GetSingleInfo方法,后臺的GetSingleInfo方法,使用前端的回調方法OnGetMemberSuccessByjsonp包裝后臺的業(yè)務操作的JSON對象,返回給前端一段javascript片段執(zhí)行。巧妙的解決了跨域訪問問題。

JSONP的缺點:

JSONP不提供錯誤處理。如果動態(tài)插入的代碼正常運行,你可以得到返回,但是如果失敗了,那么什么都不會發(fā)生。

小伙伴們是否對JSONP跨域GET請求解決Ajax跨域訪問問題有所了解了呢,本文的思路還是非常不錯的,推薦給大家。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
激情视频免费网站| 亚洲无人区一区| 日本成人一区| 国产欧美一区| 亚洲国产精品18久久久久久| 国产精品午夜福利| 精品国产乱码久久久久久108| 三级av免费看| 精品自拍偷拍| 免费观看一二区视频网站| 欧美老女人另类| 国产精品无码无卡无需播放器| 久久久av电影| 黑人巨大精品欧美黑白配亚洲| 久久久久久久一区二区| 佐佐木明希电影| 日本在线播放一区二区三区| 亚洲av成人精品日韩在线播放| 99国产成人精品| 精品国产免费久久久久久婷婷| 中文字幕精品一区二| 最好看的日本字幕mv视频大全| 成人高清免费观看mv| 欧美精品videosex极品1| 黄页在线观看| 日韩国产欧美在线播放| 北条麻妃在线一区| 美女av在线播放| 欧美大片久久久| 国产乱人伦精品一区| 亚洲第一视频在线| 欧美日韩中文字幕| 久久久久网址| 亚洲精品乱码久久久久久金桔影视| 97久久精品人人澡人人爽| 69久久夜色精品国产7777| 91久久在线观看| 这里只有精品电影| 成人美女视频在线观看| 久草视频一区二区| 成人午夜私人影院| 51精品国产黑色丝袜高跟鞋| 亚洲成人网在线观看| 成年人看的羞羞网站| 国产二区三区在线| 538任你躁在线精品免费| 第四色中文综合网| 伦伦影院午夜日韩欧美限制| 亚洲精品在线视频播放| 福利视频亚洲| 亚洲男女自偷自拍| 久久精品天堂| www日韩中文字幕在线看| 综合欧美亚洲日本| 在线免费观看视频黄| 在线免费av资源| 麻豆天美蜜桃91| 欧美日韩色图| 精品久久香蕉国产线看观看gif| 99久久婷婷国产综合精品电影√| 亚洲一区二区三区在线| 男女污视频在线观看| 欧美顶级xxxxbbbb| 国产一区在线视频观看| 一区二区三区在线播放| 91精品国产高清久久久久久91| 精品区在线观看| xxxx69·hdxxxxx| 婷婷丁香久久| 国产成人久久久久| 牛牛精品成人免费视频| 亚洲精品一线二线三线无人区| 国产一二三区在线观看| 精品无码久久久久成人漫画| 97人人模人人爽人人少妇| 日韩精品每日更新| 自拍偷拍第1页| 动漫一区在线| 久久久久久久一区二区| 日韩激情一区二区| 日本精品视频在线观看| 国产精品老熟女视频一区二区| 国产成人三级在线播放| 欧美一区二区大胆人体摄影专业网站| 欧美高清视频一区二区三区在线观看| 国产成人在线看| 黄色工厂这里只有精品| 粉嫩的18在线观看极品精品| 国产一级18片视频| 亚洲福利视频一区| 亚洲一区欧美一区| 老司机av网站| 久久精品aⅴ无码中文字字幕重口| 国产福利三区| 日本系列欧美系列| 丰满少妇高潮一区二区| 992kp快乐看片永久免费网址| 在线视频你懂得一区二区三区| 天堂在线观看av| 91九色蝌蚪视频| 国产午夜无码视频在线观看| 一个人看的免费视频色| 欧美日韩夫妻久久| 欲求不满中文字幕| 日本黄色网址大全| h片视频在线观看| 国产女主播在线写真| 自拍另类欧美| 国产白丝精品91爽爽久久| 精品久久久久久久久久中文字幕| 国产又爽又黄免费软件| 欧美视频在线观看一区二区| 国产激情一区二区三区在线观看| 三级成人在线| 国产成人三级一区二区在线观看一| 精品久久久三级| 久久国产综合视频| 久久九九精品| 欧美日韩成人综合天天影院| 国产精品久久久久久久久久| 国产一区二区在线观| 成人网欧美在线视频| 日本免费久久高清视频| 午夜在线a亚洲v天堂网2018| 亚洲精华国产精华精华液网站| 免费视频一区二区三区在线观看| av高清在线观看| 亚洲综合激情另类小说区| 国产伦精品免费视频| 日韩av中文字幕一区二区| 国产精品bbw一区二区三区| 国产三级做爰在线观看| 精品欧美日韩一区二区| 精品美女永久免费视频| 国产日本欧美一区二区三区在线| 久久亚洲国产成人精品性色| 久久久av毛片精品| 国产日韩三级在线| 亚洲AV无码国产成人久久| 无码人妻精品一区二区三区99不卡| 看黄色录像一级片| 91超碰成人| 中文字幕免费在线不卡| 人妻av中文系列| 中文字幕91爱爱| www.毛片.com| 国产91av视频| 久久 天天综合| 精品成人av一区二区三区| 免费观看久久av| 欧美日韩亚洲一区二区三区四区| 国产精品久久久久永久免费观看| 国产精品日韩在线播放| 啊啊啊久久久| 亚洲羞羞网站| 久久电影天堂| 亚洲国产成人精品一区二区三区| 蜜臀99久久精品久久久久久软件| 欧美mv日韩mv国产| 国产高清视频免费| 一区二区冒白浆视频| 久久99精品久久久久久野外| 日本精品在线一区| 91免费国产视频网站| 久久综合久久久久88| 国产免费一区二区三区四区五区| av成人综合网| 久久久久久久久久久久久夜| 国自产精品手机在线观看视频| 先锋影音资源综合在线播放av| 女人十八毛片嫩草av| 国产精品视频免费一区二区三区| 欧美日韩一区二区三区免费| 精品少妇一区二区三区在线视频| 涩多多在线观看| 91网页在线观看| 午夜视频一区二区三区| 亚洲国产日韩欧美在线观看| 美丽的姑娘在线观看免费动漫| www.-级毛片线天内射视视| 激情图片在线观看高清国产| 国内精品不卡一区二区三区| 欧美a级理论片| 久久网一区二区| 欧美日韩中文视频| 日韩精品在线视频免费观看| 亚洲一区日韩在线| 天天草天天草| 午夜一区二区三区不卡视频| 亚洲国产小视频在线观看| 亚洲老女人视频免费| 91丝袜美腿高跟国产极品老师| 国产又粗又猛又色又| 国产成人精品午夜| 日韩激情中文字幕| 精品九九九九| 亚洲综合色网站| 黄色片在线播放| 亚洲精品**中文毛片| 亚洲大尺度美女在线| 91成人在线视频| 国产自产视频一区二区三区| 国产精品久久久久9999| 污视频网站免费| 最新69国产成人精品视频免费| 欧美自拍资源在线| 日本道精品一区二区三区| 无人日本免费视频| 欧美日韩国产中文字幕| 在线观看免费观看在线| 亚洲精品成人三区| 日韩电影中文字幕在线| 免费xxxx性欧美18vr| 日本精品久久久久久| 成年网站在线在免费播放| 久久久久久久久久99| 6699久久国产精品免费| 国内老熟妇对白hdxxxx| 91狠狠综合久久久久久| 国产一区精品福利| 日本少妇一区二区| 91精品店在线| 色妞色视频一区二区三区四区| 99久久久无码国产精品性色戒| 欧美大尺度在线观看| 国产日韩欧美激情| 91超碰免费在线| 日韩最新中文字幕| 欧美交换配乱吟粗大25p| 欧美 日本 国产| 青青草免费在线视频观看| 爱豆国产剧免费观看大全剧苏畅| 蜜乳av综合| 成人在线不卡| 精品国产一区二区三区麻豆免费观看完整版| 不卡的电视剧免费网站有什么| 一本一道无码中文字幕精品热| 国产一级中文字幕| 另类小说色综合| 中文字幕第99页| 成人教育av在线| 久久久久久久久毛片| 久草视频在线免费| 国产男女无套免费网站| 亚洲a在线播放| 久久99视频精品| 日韩av一卡二卡| 九九热精彩视频| 91精品免费在线观看| 艳妇乳肉豪妇荡乳av无码福利| 一区二区三区四区在线观看国产日韩| 亚洲精品v欧美精品v日韩精品| 多男操一女视频| 国产免费又粗又猛又爽| 日韩av免费在线播放| 中文字幕日本欧美| 老司机精品免费视频| 亚洲色图第一区| 波多野结衣一区二区三区免费视频| 亚洲视频专区在线| 在线观看av资源| 中文字幕一区二区三区四区五区人| 综合激情久久| 亚洲另类视频| 国产亚洲欧美日韩在线一区| 亚洲精品国产精品国自| 别急慢慢来1978如如2| 亚洲日韩中文字幕在线播放| 精品久久久精品| 国产午夜精品久久| 日韩在线视频中文字幕| 91亚洲国产成人久久精品麻豆| 九九热精品在线| 欧美激情综合色综合啪啪| 一级特黄aaaaaa大片| 国产福利影院在线观看| 日韩精品专区| 九九视频在线免费观看| 成人久久久久久久| 精品按摩偷拍| 中文字幕21页在线看| 欧美电影《轻佻寡妇》| 中日韩av电影| 国产精品综合色区在线观看| 国产精品美女免费看| 91视频久久| 亚洲精品一区中文字幕电影| 91黄色精品| 国产99久久久精品| 深夜免费福利视频| 粉嫩av一区二区三区免费观看| 丝袜美腿亚洲一区二区| 日本欧美一区二区在线观看| 久久婷婷五月综合色国产香蕉| 久久久久久久中文字幕| 欧美三级精品| 免费一级欧美片在线观看| 精品视频一二三| 精品在线欧美视频| 欧美人与物videos另类xxxxx| 天干夜夜爽爽日日日日| 久久久久久无码精品人妻一区二区| 亚洲精品自拍区在线观看| 91老司机精品视频| 日本在线不卡视频| 激情欧美亚洲| 欧洲精品在线播放| 在线视频 91| 国产精品亚洲аv天堂网| www.555国产精品免费| 国产 日韩 欧美一区| 亚洲精品乱码久久久久久| 国内精品伊人久久久久av一坑| 久久精品国产亚洲| 中文字幕av一区二区三区谷原希美| 毛片不卡一区二区| 日韩欧美亚洲精品| 黄色免费高清视频| 国产伦精品一区二区三区高清版| 国产在线免费av| 麻豆视频官网| 中文字幕av久久爽一区| 免费观看成人毛片| 国产乡下妇女做爰| 欧美性xxxxx极品娇小| 国产色综合一区| 国产一区二区在线观看免费视频| 日本中文字幕成人|