午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁(yè) > 知識(shí)庫(kù) > 基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法

基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法

熱門標(biāo)簽:中國(guó)地圖標(biāo)注不明確情況介紹表 立陶宛地圖標(biāo)注 地圖標(biāo)注推銷坑人 東平縣地圖標(biāo)注app 怎樣在地圖標(biāo)注文字 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 河間市地圖標(biāo)注app 電銷機(jī)器人 長(zhǎng)春 上海企業(yè)外呼系統(tǒng)價(jià)錢

概述

ASP.NET Web API 的好用使用過(guò)的都知道,沒有復(fù)雜的配置文件,一個(gè)簡(jiǎn)單的ApiController加上需要的Action就能工作。但是在使用API的時(shí)候總會(huì)遇到跨域請(qǐng)求的問(wèn)題,特別各種APP萬(wàn)花齊放的今天,API的跨域請(qǐng)求是不能避免的。

在默認(rèn)情況下,為了防止CSRF跨站的偽造攻擊(或者是 javascript的同源策略(Same-Origin Policy)),一個(gè)網(wǎng)頁(yè)從另外一個(gè)域獲取數(shù)據(jù)時(shí)就會(huì)收到限制。有一些方法可以突破這個(gè)限制,那就是大家熟知的JSONP, 當(dāng)然這只是眾多解決方法中一種,由于JSONP只支持GET的請(qǐng)求,如今的復(fù)雜業(yè)務(wù)中已經(jīng)不能滿足需求。而CORS(Cross Origin Resource Sharing https://www.w3.org/wiki/CORS)跨域資源共享,是一種新的header規(guī)范,可以讓服務(wù)器端放松跨域的限制,可以根據(jù)header來(lái)切換限制或者不限制跨域請(qǐng)求。重要的是它支持所有http請(qǐng)求方式。

問(wèn)題

XMLHttpRequest 跨域 POST或GET請(qǐng)求 ,請(qǐng)求方式會(huì)自動(dòng)變成OPTIONS的問(wèn)題。

由于CORS(cross origin resource share)規(guī)范的存在,瀏覽器會(huì)首先發(fā)送一次options嗅探,同時(shí)header帶上origin,判斷是否有跨域請(qǐng)求權(quán)限,服務(wù)器響應(yīng)access control allow origin的值,供瀏覽器與origin匹配,如果匹配則正式發(fā)送post請(qǐng)求,即便是服務(wù)器允許程序跨域訪問(wèn),若不支持 options 請(qǐng)求,請(qǐng)求也會(huì)死掉。

原因

瀏覽器為了安全起見,會(huì)Preflighted Request的透明服務(wù)器驗(yàn)證機(jī)制支持開發(fā)人員使用自定義的頭部、GET或POST之外的方法,以及不同類型的主題內(nèi)容,也就是會(huì)先發(fā)送一個(gè) options 請(qǐng)求,
問(wèn)問(wèn)服務(wù)器是否會(huì)正確(允許)請(qǐng)求,確保請(qǐng)求發(fā)送是安全的。

出現(xiàn) OPTIONS 的情況一般為:

1、非GET 、POST請(qǐng)求

2、POST請(qǐng)求的content-type不是常規(guī)的三個(gè):application/x- www-form-urlencoded(使用 HTTP 的 POST 方法提交的表單)、multipart/form-data(同上,但主要用于表單提交時(shí)伴隨文件上傳的場(chǎng)合)、text/plain(純文本) 

3、POST請(qǐng)求的payload為text/html 

4、設(shè)置自定義頭部

OPTIONS請(qǐng)求頭部中會(huì)包含以下頭部:Origin、Access-Control-Request-Method、Access-Control-Request-Headers,發(fā)送這個(gè)請(qǐng)求后,服務(wù)器可以設(shè)置如下頭部與瀏覽器溝通來(lái)判斷是否允許這個(gè)請(qǐng)求。
Access-Control-Allow-Origin、Access-Control-Allow-Method、Access-Control-Allow-Headers

解決方法

此方法功能強(qiáng)大,可以解決ASP.NET Web API復(fù)雜跨域請(qǐng)求,攜帶復(fù)雜頭部信息,正文內(nèi)容和授權(quán)驗(yàn)證信息

方法一

public class CrosHandler:DelegatingHandler
{
 private const string Origin = "Origin";
 private const string AccessControlRequestMethod = "Access-Control-Request-Method";
 private const string AccessControlRequestHeaders = "Access-Control-Request-Headers";
 private const string AccessControlAllowOrign = "Access-Control-Allow-Origin";
 private const string AccessControlAllowMethods = "Access-Control-Allow-Methods";
 private const string AccessControlAllowHeaders = "Access-Control-Allow-Headers";
 private const string AccessControlAllowCredentials = "Access-Control-Allow-Credentials";
 protected override TaskHttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
 {
  bool isCrosRequest = request.Headers.Contains(Origin);
  bool isPrefilightRequest = request.Method == HttpMethod.Options;
  if (isCrosRequest)
  {
   TaskHttpResponseMessage> taskResult = null;
   if (isPrefilightRequest)
   {
    taskResult = Task.Factory.StartNewHttpResponseMessage>(() =>
    {
     HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.OK);
     response.Headers.Add(AccessControlAllowOrign,
      request.Headers.GetValues(Origin).FirstOrDefault());
     string method = request.Headers.GetValues(AccessControlRequestMethod).FirstOrDefault();
     if (method != null)
     {
      response.Headers.Add(AccessControlAllowMethods, method);
     }
     string headers = string.Join(", ", request.Headers.GetValues(AccessControlRequestHeaders));
     if (!string.IsNullOrWhiteSpace(headers))
     {
      response.Headers.Add(AccessControlAllowHeaders, headers);
     }
     response.Headers.Add(AccessControlAllowCredentials, "true");
     return response;
    }, cancellationToken);
   }
   else
   {
    taskResult = base.SendAsync(request, cancellationToken).ContinueWithHttpResponseMessage>(t =>
    {
     var response = t.Result;
     response.Headers.Add(AccessControlAllowOrign,
      request.Headers.GetValues(Origin).FirstOrDefault());
     response.Headers.Add(AccessControlAllowCredentials, "true");
     return response;
    });
   }
   return taskResult;
  }
  return base.SendAsync(request, cancellationToken);
 }
}

使用方式,在Global.asax文件添加

protected void Application_Start()
{
 IOCConfig.RegisterAll();
 AreaRegistration.RegisterAllAreas();
 WebApiConfig.Register(GlobalConfiguration.Configuration);
 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
 RouteConfig.RegisterRoutes(RouteTable.Routes);
 BundleConfig.RegisterBundles(BundleTable.Bundles);
 GlobalConfiguration.Configuration.MessageHandlers.Add(new CrosHandler());
}

方法二

配置文件中添加如下配置,此方法簡(jiǎn)單,應(yīng)對(duì)簡(jiǎn)單的跨域請(qǐng)求

system.webServer>
 httpProtocol>
  customHeaders>
  add name="Access-Control-Allow-Origin" value="*" />
  add name="Access-Control-Allow-Headers" value="Content-Type" />
  add name="Access-Control-Allow-Methods" value="GET, POST,OPTIONS" />
  /customHeaders>
 /httpProtocol>
system.webServer>

總結(jié)

以上所述是小編給大家介紹的基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Apache中配置支持CORS(跨域資源共享)實(shí)例
  • 跨域資源共享 CORS 詳解
  • 淺析jsopn跨域請(qǐng)求原理及cors(跨域資源共享)的完美解決方法
  • JS跨域解決方案之使用CORS實(shí)現(xiàn)跨域
  • js實(shí)現(xiàn)跨域的幾種方法匯總(圖片ping、JSONP和CORS)
  • 跨域請(qǐng)求的完美解決方法(JSONP, CORS)
  • 跨域請(qǐng)求兩種方法 jsonp和cors的實(shí)現(xiàn)
  • 你可能不知道的CORS跨域資源共享

標(biāo)簽:四川 益陽(yáng) 遼寧 銅川 營(yíng)口 本溪 內(nèi)江 玉樹

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法》,本文關(guān)鍵詞  基于,CORS,實(shí)現(xiàn),WebApi,Ajax,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于基于CORS實(shí)現(xiàn)WebApi Ajax 跨域請(qǐng)求解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品免费一区二区三区观看| 国产精品久久久久99| 欧美丰满嫩嫩电影| 欧美影院精品一区| 91电影在线观看| 一区二区三区在线观看网站| 综合网在线视频| 一区二区三区四区中文字幕| 亚洲视频狠狠干| 亚洲乱码中文字幕综合| 久久精品人人做人人爽97| 久久精子c满五个校花| 国产精品嫩草影院av蜜臀| 国产欧美日韩中文久久| 国产精品久久久久久久岛一牛影视| 懂色一区二区三区免费观看| 久久久蜜桃精品| 中文字幕日本乱码精品影院| 亚洲一区二区三区自拍| 色综合久久久久综合体| 欧美日韩国产另类不卡| 亚洲国产精品久久久久秋霞不卡| 一区二区三区 在线观看视| 在线播放日韩精品| 精品国产一区av| 欧美日本黄视频| 久久久久久久影院| 99国产盗摄| 五月天婷亚洲天综合网鲁鲁鲁| 中文字幕の友人北条麻妃| 丰满的少妇愉情hd高清果冻传媒| 欧美交换配乱吟粗大25p| 又色又爽又高潮免费视频国产| 亚洲理论中文字幕| 免费一级做a爰片久久毛片潮| 国产传媒在线看| 国产剧情在线视频| 麻豆免费看一区二区三区| 久久久综合精品| 亚洲一区二区三区视频在线| 欧美丰满嫩嫩电影| 久久在线精品视频| 4444kk亚洲人成电影在线| 中文字幕在线乱| 波多野结衣国产精品| 呻吟揉丰满对白91乃国产区| 日韩免费视频网站| 成人高潮片免费视频| 成人白浆超碰人人人人| 日韩高清不卡在线| 中文字幕国产精品一区二区| 91久久国产综合久久| www亚洲欧美| 国产精品免费看久久久香蕉| 国产树林野战在线播放| 中文文字幕文字幕高清| 精品人妻无码一区二区性色| 六月婷婷色综合| 久久久噜噜噜久久人人看 | 久久久久久穴| 综合精品久久久| 日韩精品专区在线影院观看| 国产精品爽爽爽爽爽爽在线观看| 久无码久无码av无码| 熟女少妇内射日韩亚洲| 亚洲天堂网视频| 盗摄精品av一区二区三区| 91久久精品一区二区| 久久久久久国产精品三级玉女聊斋| 黑人巨大精品欧美一区二区小视频| 老头吃奶性行交视频| 成人毛片18女人毛片| 国产**成人网毛片九色| 欧美美女直播网站| 国产精品久久久久久久久 | 国产精品最新在线观看| 免费特级黄色片| 国产性70yerg老太| 99精品久久免费看蜜臀剧情介绍| 欧美日韩另类一区| 国产精品自产拍在线观| 岛国大片在线播放| 精品少妇久久久| 久久九九影视网| 亚洲国产成人久久综合一区| 91久久国产综合久久蜜月精品| 91网址在线播放| 一二三区免费视频| 91视频在线看| 中文字幕国产精品| 亚洲精品国产一区| 欧美精品一区二区成人| 91亚洲精品久久久蜜桃| 亚洲欧美激情一区| 日本高清不卡一区二区三| 99热这里只有精品4| av一区二区三区在线| 精品福利在线导航| 成人h片在线播放免费网站| 亚洲 欧美 另类人妖| 风流少妇一区二区三区91| 婷婷六月综合网| 日韩av观看网址| 91丨porny丨探花| 亚洲天天综合网| 亚洲一区影音先锋| 国产日韩欧美综合| 三上悠亚影音先锋| 波多野结衣中文字幕一区二区三区| 国产丝袜一区二区三区免费视频| 一区二区三区不卡在线| 日本一级黄色录像| 亚洲激情网站免费观看| 成人黄色片在线| 无码人妻aⅴ一区二区三区| 九九久久精品视频| 日韩大陆毛片av| 一级全黄肉体裸体全过程| 天堂免费在线视频| 亚洲国产日韩a在线播放| 国产99久久精品一区二区| 精品久久久久久中文字幕人妻最新| 成人黄页毛片网站| 欧美精品生活片| 一二三av在线| 国产不卡在线播放| 欧美日韩国产123| 亚洲成a人无码| 国产风韵犹存在线视精品| 国产午夜精品免费一区二区三区| 奇米视频888| 国产.欧美.日韩| 日本高清+成人网在线观看| 黄色a一级视频| 国产精品蜜臀在线观看| 91视频婷婷| 日本三级一区二区| 欧美性欧美巨大黑白大战| 久久免费一区| 中文字幕有码视频| 日韩视频在线一区二区| 久久黄色片视频| 葵司免费一区二区三区四区五区| 日韩中文字幕在线免费观看| 精产国品一二三区| www国产亚洲精品久久麻豆| 国语自产精品视频在线看一大j8 | 久久综合九色99| 精品人妻伦一区二区三区久久| 日韩av在线网| 爱情岛论坛亚洲自拍| 北岛玲一区二区三区四区| 成人字幕网zmw| 毛片在线免费视频| 欧美成人精品二区三区99精品| 一级淫片在线观看| 欧美国产精品一区二区三区| 91成人免费视频| 欧美日韩大片在线观看| 日韩一级大片在线| 特种兵之深入敌后| 亚洲精品视频在线看| 9l视频自拍9l视频自拍| 成人听书哪个软件好| 亚洲一区久久久| www毛片com| 亚洲美女激情视频| 自拍视频一区二区| 一本大道av伊人久久综合| 成年人黄色在线观看| 99国产精品久| 蜜桃传媒视频麻豆第一区免费观看| 亚洲成人77777| 久久久久亚洲精品| 一区二区在线观看免费视频| 亚洲午夜三级在线| 欧美不卡在线播放| 国产精品久久一级| 看一级黄色录像| 国产福利一区在线观看| 国产三级精品在线不卡| 天堂久久久久va久久久久| 国产精品一二区| www.欧美色| 91精品成人久久| 久草视频免费在线播放| 日韩成人激情在线| 女~淫辱の触手3d动漫| 欧美r级在线观看| 一区二区三区久久久久| 精品国产一区二区在线观看| 人人妻人人澡人人爽人人精品| 动漫精品一区二区| 欧美体内she精高潮| 色婷婷av一区| 三级视频网站在线观看| 精品毛片乱码1区2区3区| 影音先锋男人看片资源| 精品日韩在线一区| 黄色aaa视频| 最近2019中文字幕大全第二页| 国产免费久久久久| 亚洲性无码av在线| 在线观看亚洲国产| 成人在线免费观看视视频| 亚洲av无码一区二区三区dv| 7777精品久久久大香线蕉小说| 麻豆成人av在线| 日本一区免费| 亚洲午夜免费福利视频| 扒开伸进免费视频| 亚洲国产成人久久| av在线免费播放网址| 欧美大尺度激情区在线播放| 国产男女裸体做爰爽爽| 国产精品人成电影| 国产成人午夜高潮毛片| 国产毛片久久久久久国产毛片| 亚洲一卡二卡三卡四卡五卡| 95视频在线观看| 亚洲精品国产精品乱码不99按摩| 一级特黄aa大片| 国产精品成人一区二区三区| 99国产精品久久| 久久久久久综合网| 亚洲高清不卡av| 亚洲无码精品国产| 日韩欧美精品久久| 亚洲一区二区三区四区不卡 | 国产又色又爽又黄又免费| 91精品啪在线观看麻豆免费| 成人精品国产免费网站| av噜噜在线观看| 亚洲欧美日本另类| 91国内精品视频| 久久精品99| 亚洲另类春色国产| 国产真人做爰视频免费| 97视频免费在线观看| 大陆成人av片| 性折磨bdsm欧美激情另类| 久久精品成人一区二区三区| 蜜桃av噜噜一区| 日本毛片在线免费观看| 欧美精品三级在线观看| 一级黄色大片免费| 亚洲无玛一区| 欧美一区二区国产| 91av久久久| 在线观看日韩羞羞视频| 欧美偷拍一区二区| 亚洲一二区视频| 桥本有菜av在线| 欧美丰满美乳xxx高潮www| 国产三级按摩推拿按摩| 最近中文字幕免费mv| 欧美一区二区在线视频| 国产福利资源在线| 成年人三级视频| 日本人妖一区二区| 日韩av在线播放不卡| 精品亚洲国产视频| 男女男精品视频| 欧美日韩免费做爰视频| 亚洲国产婷婷香蕉久久久久久99| 日韩欧美在线字幕| 无码任你躁久久久久久久| 亚洲黄色网址在线观看| 欧美三级乱人伦电影| 丰满人妻一区二区三区免费| 青青在线视频免费| 欧美高清视频在线| 成人福利视频在线看| 特级特黄刘亦菲aaa级| 国产激情久久久久| 黑人巨大精品欧美一区免费视频| 日本黄色中文字幕| 欧美精品99久久| 中文字幕日韩高清| 久久久高清一区二区三区| 国产一级二级毛片| 欧美一级爽aaaaa大片| 亚洲第一福利网站| 国内欧美视频一区二区| a级在线免费观看| 欧美日韩综合久久| 亚洲欧美日韩中文在线| 黄色资源网久久资源365| www.av天天| 久久久久久国产精品一区 | 国产精品三级av| chinese国产精品| 男女视频一区二区三区| 国产成人91久久精品| 偷窥少妇高潮呻吟av久久免费| 精品久久久久久久久久久久久久久久久久| 99视频在线免费播放| 久久精品人人爽| 精品国产91久久久久久| 午夜精品一二三区| 一区二区三区四区免费| 国内外成人免费视频| 亚洲精品资源美女情侣酒店| 91亚洲大成网污www| 无码人妻丰满熟妇区毛片18| 亚洲成人a级网| 中文欧美字幕免费| 老司机午夜福利视频| 亚洲激情视频小说| 国产精品国三级国产av| 国产精品精品一区二区三区午夜版| 欧美卡1卡2卡| 久久久久成人黄色影片| 天干夜夜爽爽日日日日| 日本泡妞xxxx免费视频软件| 日韩在线观看电影完整版高清免费| 在线日韩欧美视频| 中文字幕一区二区三区不卡| 成人免费视频国产免费麻豆| 91香蕉视频污在线观看| www.欧美日本| 久久av一区二区三区亚洲| 久久久久久69| 欧美一区二区免费观在线| 99热国产精品| 日批视频在线播放| 国产亚洲精品女人久久久久久| 午夜视频在线网站| 久久99精品久久久久久青青日本 | 国产午夜精品全部视频播放| 中文字幕一区av| 精品中文字幕一区二区小辣椒 | 谁有免费的黄色网址| 阿v天堂2017| 欧美不卡在线一区二区三区| 久久久免费电影| 精品国产伦一区二区三区观看体验| 91久久精品一区二区| 久久综合久久鬼色中文字| 麻豆成人av在线| 精品成人久久久| 久久嫩草捆绑紧缚| 乐播av一区二区三区| 日本性生活一级片| 中文国产在线观看| 亚洲国产精品三区| 妺妺窝人体色www在线小说| 800av在线免费观看| 中文字幕成人一区| 日韩免费av电影| 精品一区二区三区自拍图片区| 亚洲一区国产精品| 日本精品va在线观看| 97久久久久久| 96精品视频在线| 国产91在线播放精品91| 国产不卡av在线免费观看| 8x拔播拔播x8国产精品| 欧美一级淫片aaaaaaa视频| 欧美一区三区三区高中清蜜桃| 97国产在线观看| 97久久精品国产| 欧美r级在线观看| 一区av在线播放| 亚洲欧美日韩人成在线播放| 成人一区二区三区视频| 看电视剧不卡顿的网站| 日韩成人免费在线| 日本欧美韩国一区三区| 久久久水蜜桃av免费网站| 婷婷丁香一区二区三区| 隣の若妻さん波多野结衣| 亚洲av无码乱码国产精品久久| 国产精品久久久久久久久久久久久久久久 | 中文字幕久久久| 丝袜亚洲另类欧美重口| 亚洲桃花岛网站| 在线a欧美视频| 久久五月情影视| 色综合久久久久久中文网| 欧美激情中文字幕在线| 欧美精品成人在线| 2021国产精品视频| 国产成人精品综合久久久| 久久久久国色av免费观看性色| 亚洲视频电影图片偷拍一区| 日韩三级电影网址| 欧美酷刑日本凌虐凌虐| 日韩小视频在线观看专区| 91精品国产综合久久小美女| 欧美视频日韩视频在线观看| 欧美一区二区三区四区久久| 69堂国产成人免费视频| 8x福利精品第一导航| 日韩视频在线观看一区二区| 日韩一级欧美一级| 亚洲精品一区二区三区在线观看| 亚洲国产成人精品电影| 中文字幕在线亚洲| www欧美日韩| 久热精品视频在线| 国产做受高潮69| 国产欧美一区二区三区久久| 91精品国产综合久久久久久久久| 国产欧美精品一区二区| 亚洲直播在线一区| 亚洲视频sss| 成人网站免费观看入口| 高清一区在线观看| 国产精品无码无卡无需播放器|