成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

Ajax跨域問題及解決方案(jsonp,cors)

瀏覽:408日期:2022-06-11 10:07:38

跨域

跨域有三個條件,滿足任何一個條件就是跨域

1:服務器端口不一致
2:協議不一致
3:域名不一致

解決方案:

1.jsonp

  在遠程服務器上設法動態的把數據裝進js格式的文本代碼段中,供客戶端調用和進一步處理;在前臺通過動態添加script標簽及src屬性,表面看上去與ajax極為相似,但是,這和ajax并沒有任何關系;為了便于使用及交流,逐漸形成了一中非正式傳輸協議,人們把它稱作 jsonp 。

代碼如下:

html:

<body>  <form action="/" method="post" enctype="multipart/form-data">    <input type="text" name="xinxi" id="info"><br>    <input type="file" name="file" id="file"><br>    <input type="button" value="提交" name="submit" id="btn">  </form></body><script src="./jquery.js"></script><script>  //提前寫好函數,調用函數需要傳參  function callback(data){    alert(data);  }  //動態添加script標簽及src屬性  $("#btn").on("click",function(){    var sc = document.createElement("script");    sc.src = "http://soul:8888/kuayu?cb=callback";    $("head").append(sc);   })</script>  

js:

var http = require("http"); var url = require("url"); var server = http.createServer(); server.listen("8888",function(){   console.log("8888"); }); server.on("request",function(req,res){   var urls = url.parse(req.url,true);   if(urls.pathname == "/kuayu"){     res.end("callback("jsonp")");//返回的數據需是前端定義的函數調用的形式   } });

運行結果:

總結一下:

  jsonp的一個要點就是允許用戶傳遞一個callback參數給服務端, 然后服務端返回數據時會將這個callback參數作為函數名來包裹住JSON數據, 這樣客戶端就可以隨意定制自己的函數來自動處理返回數據了。

  發現凡是擁有"src"這個屬性的標簽都擁有跨域的能力,比如script、img、iframe; src 的能力就是把遠程的數據資源加載到本地(圖片、JS代碼等);

2.cors

cors跨域的核心點是在服務端代碼中設置一個響應頭即可

res.setHeader("Access-Control-Allow-Origin","*");

html:

<body>  <form action="/" method="post" enctype="multipart/form-data" id="form">    <input type="text" name="xinxi" id="info"><br>    <input type="button" value="提交" name="submit" id="btn">  </form></body><script src="./jquery.js"></script><script>  $("#btn").on("click", function () {      $.ajax({    url: "http://soul:8888/kuayu",    type:"delete",      async:false,    success: function (data) {      alert(data);    },})  })</script>

js代碼:

<body>  <form action="/" method="post" enctype="multipart/form-data" id="form">    <input type="text" name="xinxi" id="info"><br>    <input type="button" value="提交" name="submit" id="btn">  </form></body><script src="./jquery.js"></script><script>  $("#btn").on("click", function () {      $.ajax({    url: "http://soul:8888/kuayu",    type:"delete",      async:false,    success: function (data) {      alert(data);    },})  })</script>

效果:

   很多人也認為使用CORS解決跨域很簡單,只需要在服務器添加響應頭 “ Access-Control-Allow-Origin :* ” 就可以了,

其實不然,因為在CORS中,所有的跨域請求被分為了兩種類型,一種是簡單請求,一種是復雜請求 (嚴格來說應該叫‘需預檢請求");簡單請求與普通的ajax請求無異;但復雜請求,必須在正式發送請求前先發送一個OPTIONS方法的請求已得到服務器的同意,若沒有得到服務器的同意,瀏覽器不會發送正式請求;

滿足以下所有條件,被視為簡單類型的請求:

1:請求方法必須是 GET、HEAD、POST中的一種,其他方法不行;

2:請求頭類型只能是 Accept、Accept-Language、Content-Language、Content-Type,添加其他額外請求頭不行;

3:請求頭 Content-Type 如果有,值只能是 text/plain、multipart/form-data、application/x-www-form-urlencoded 中的一種,其他值不行;

4:請求中的任意 XMLHttpRequestUpload 對象均沒有注冊任何事件監聽器;

5:請求中沒有使用 ReadableStream 對象。(以上摘自西嶺老濕微信公眾號)

總結一下:

如果請求方式為get和post簡單請求,則只需要設置響應頭:res.setHeader("Access-Control-Allow-Origin","*");來允許某一個域 或者 所有域進行數據共享;

若是其他方式的請求,會在發送真正的請求之前發送一個options請求,通過options請求里設置:res.setHeader("Access-Control-Allow-Methods", "DELETE"),

告知服務器正式請求會使用哪一種 HTTP 請求方法。

總結

以上所述是小編給大家介紹的Ajax跨域問題及解決方案(jsonp,cors),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

標簽: Ajax
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91在线国产福利| 亚洲三级在线观看| 国产精品萝li| 成人av电影免费观看| 欧美色偷偷大香| 视频一区中文字幕| 一本色道久久综合亚洲精品不卡 | 91在线视频观看| 欧美视频一区二区三区在线观看| 欧美另类高清zo欧美| 日韩不卡在线观看日韩不卡视频| 成人av免费观看| 日韩一区二区三区在线视频| 久国产精品韩国三级视频| 毛片一区二区| 亚洲一区二区四区蜜桃| 一区二区高清| 亚洲一区二区三区三| 亚洲综合好骚| 日韩精品视频网站| 欧美亚洲一区二区三区四区| 蜜桃视频免费观看一区| 欧日韩精品视频| 久久er99热精品一区二区| 欧美亚洲日本国产| 国内精品伊人久久久久av影院| 狠狠入ady亚洲精品| 国产三级欧美三级| 亚洲欧美综合| 国产精品国产三级国产| 亚洲欧美一区在线| 国产精品久线在线观看| 亚洲国产精品第一区二区| 亚洲精品视频一区| 一区二区三区四区五区在线 | 亚欧色一区w666天堂| 一区二区三区精品视频在线观看| 日韩美女天天操| 粉嫩一区二区三区在线看| 日韩视频免费直播| 欧美日韩亚洲一区| 亚洲综合丁香婷婷六月香| 久久国产主播| 久久成人久久鬼色| 欧美日韩国产影片| 成人精品国产一区二区4080| 久久久久久久久岛国免费| 欧美连裤袜在线视频| 亚洲人123区| 久久综合九色综合欧美狠狠| 极品少妇xxxx精品少妇| 日韩女优电影在线观看| 色综合久久综合网欧美综合网| 在线免费视频一区二区| 精品一区二区三区日韩| 日韩午夜在线观看| 欧美久久视频| 夜夜精品视频一区二区| 在线亚洲高清视频| 韩国中文字幕2020精品| 久久人人超碰精品| 亚洲国产欧洲综合997久久| 亚洲一区二区不卡免费| 91久久精品日日躁夜夜躁欧美| 国产精品久久久一本精品| 夜夜爽99久久国产综合精品女不卡| 久久久777精品电影网影网| 午夜免费电影一区在线观看| 亚洲精品你懂的| 色婷婷av一区二区三区软件| 国产呦萝稀缺另类资源| 国产欧美日韩视频一区二区| 麻豆精品视频| 成人黄页在线观看| 国产精品婷婷午夜在线观看| 国产精品日韩高清| 国产精品一二三四五| 亚洲人成网站在线| 欧美日韩在线一区二区| 欧美成人蜜桃| 婷婷亚洲久悠悠色悠在线播放| 伊人久久av导航| 午夜精品一区在线观看| 69堂精品视频| 一区二区视频欧美| 国产在线播放一区| 中文字幕亚洲电影| 欧美精品123区| 亚洲国产影院| 国产乱码精品一品二品| 综合婷婷亚洲小说| 欧美日韩在线观看一区二区 | 亚洲精品久久久久久一区二区| 久久久久久免费网| 99这里有精品| 成人h精品动漫一区二区三区| 91精品国产综合久久福利| 91色porny在线视频| 亚洲国产裸拍裸体视频在线观看乱了| 一区在线播放| 日本午夜一本久久久综合| 精品福利在线导航| 奶水喷射视频一区| 91亚洲精品久久久蜜桃| 奇米影视一区二区三区| 亚洲国产高清在线| 欧美日产在线观看| 国产欧美日韩综合一区在线播放| 亚洲一区二区三区视频在线播放| 中文亚洲免费| 成人午夜电影小说| 午夜精品久久一牛影视| 国产女主播视频一区二区| 在线观看国产精品网站| 黄色成人在线网站| 国产成人高清在线| 日韩vs国产vs欧美| 亚洲天堂2014| 久久久噜噜噜久久中文字幕色伊伊| 91美女在线看| 久久99在线观看| 亚洲视频1区2区| 精品国产人成亚洲区| 日本福利一区二区| 91久久久久| 亚洲欧美综合国产精品一区| 国产美女视频91| 五月婷婷综合激情| 1区2区3区精品视频| 日韩女优视频免费观看| 91精彩视频在线| 亚洲精品在线免费| 欧美激情1区| 粉嫩嫩av羞羞动漫久久久| 蜜桃久久久久久| 午夜亚洲国产au精品一区二区| 日韩一级高清毛片| 久久久夜精品| 在线国产精品一区| 欧美日韩第一区| 高清shemale亚洲人妖| 久久国产精品第一页| 亚洲一卡二卡三卡四卡五卡| 中文字幕免费在线观看视频一区| 国产亚洲精品久久飘花| 91丨九色丨国产丨porny| 国产一区二区91| 日韩电影免费在线观看网站| 亚洲精品免费在线| 亚洲欧美乱综合| 中文字幕一区免费在线观看 | 色偷偷88欧美精品久久久| 日韩亚洲国产欧美| 影音先锋久久资源网| 国产精品久久7| 欧美在线一二三区| 97精品久久久久中文字幕| 成人在线综合网站| 国产精品综合二区| 国产毛片精品视频| 国产精品99久久不卡二区| 国内精品伊人久久久久av影院 | 久久国产精品99久久人人澡| 亚洲五码中文字幕| 自拍视频在线观看一区二区| 中文字幕乱码久久午夜不卡 | 9人人澡人人爽人人精品| 美女www一区二区| 日韩电影在线免费观看| 视频在线观看一区| 天天av天天翘天天综合网 | 一本一本a久久| 黄色日韩精品| 欧美日韩国产亚洲一区| 欧美日本不卡| 亚洲天堂男人| 亚洲毛片视频| 免费看亚洲片| 日本韩国欧美国产| 欧美视频一区二区三区| 欧美日韩不卡一区| 欧美色成人综合| 7777精品久久久大香线蕉 | 亚洲婷婷免费| 国产一在线精品一区在线观看| 黄色资源网久久资源365| 男男成人高潮片免费网站| 麻豆成人在线观看| 免费成人在线播放| 久久国产精品免费| 亚洲综合成人网| 午夜精品在线视频一区| 麻豆精品一区二区av白丝在线| 亚洲日本电影在线| 一区二区三区在线免费播放| 亚洲综合图片区| 五月综合激情婷婷六月色窝| 韩国av一区二区| www.日韩大片| 国产精品yjizz|