您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何在ASP.net中實現跨域調用WebAPI,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Web.Config配置信息:
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" /> </customHeaders> </httpProtocol>
這是網上找到的其中一種方法,也有自己寫跨域的特征類,也可以引用微軟庫cors,網上能查到很多資料,這里就不一一展開了。
這樣配置之后,我自己做Get測試,用JQ來調用也是ok的,我就以為跨域的設置已經做完了,然而天坑來了,Post操作調用不了,整天返回405錯誤,我就郁悶了,是怎么回事呢。
解決方法
上網查了一下跨域調用的原理,發現在跨域POST之前,是有一次OPTION方法調用,是用來確認是否運行跨域POST的握手確認過程。然后繼續往下查,發現通過VS自建WebAPI工程默認有OPTION處理,默認是不允許跨域的。
所以我就在Web.Config里面把這幾個代碼注釋掉了
<handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers>
上述就是小編為大家分享的如何在ASP.net中實現跨域調用WebAPI了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。