Api跨域設置


跨域設置:(服務端)
webconfig文件中,system.webServer節點下添加


 <!--跨域請求:三個配置信息-->
    <httpProtocol>
      <customHeaders>
        <!--響應類型 (值為逗號分隔的一個字符串,表明服務器支持的所有跨域請求的方法)-->
        <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
        <!--響應頭設置(Content-Type:只限於三個值application/x-www-form-urlencoded、multipart/form-data、text/plain)-->
        <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
        <!--如果設置 Access-Control-Allow-Origin:*,則允許所有域名的腳本訪問該資源-->
        <add name="Access-Control-Allow-Origin" value="*" />
        <!--<add name="Access-Control-Allow-Origin" value="http://domain1.com, http://domain2.com" />  設置允許跨域訪問的網址-->
      </customHeaders>
    </httpProtocol>

Global.asax 文件中配置跨域

        /// <summary>
        /// 跨域設置
        /// </summary>
        protected void Application_BeginRequest()
        {
            //OPTIONS請求方法的主要作用:
            //1、獲取服務器支持的HTTP請求方法;也是黑客經常使用的方法。
            //2、用來檢查服務器的性能。如:AJAX進行跨域請求時的預檢,需要向另外一個域名的資源發送一個HTTP OPTIONS請求頭,用以判斷實際發送的請求是否安全。
            if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
            {
                //表示對輸出的內容進行緩沖,執行page.Response.Flush()時,會等所有內容緩沖完畢,將內容發送到客戶端。
                //這樣就不會出錯,造成頁面卡死狀態,讓用戶無限制的等下去
                Response.Flush();
            }
        }
        
        
        
請求不成功的原因:
1.路由不正確
2.請求的類型不匹配(get,post,put,delete)
3.參數個數和類型不匹配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM