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