在前端開發過程中,經常會遇到跨域的問題。跨域的意思是當前網頁所在域名與目標服務器域名不同,通過ajax等方式請求數據時,瀏覽器會攔截請求。常見的跨域解決方式是jsonp、CORS和代理等。
但是,在使用IIS部署Web應用時,我們可能會遇到一些比較奇怪的跨域問題,甚至即使使用了jsonp或CORS,仍然無法解決。這是因為在IIS中,需要進行一些額外的配置才能跨域。
下面介紹使用IIS配置跨域所需的步驟:
1.找到站點的Web.Config文件,添加以下配置: <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, PUT, DELETE, OPTIONS" /> </customHeaders> </httpProtocol> </system.webServer> 2.在需要跨域的頁面,使用jQuery的ajax方法,設置crossDomain和withCredentials屬性: $.ajax({ url: 'http://example.com/api', type: 'GET', crossDomain: true, // 是否跨域 withCredentials: true, // 帶上cookie success: function (data) { console.log(data); } });
通過以上配置,我們就可以在IIS上實現跨域了。
上一篇憶江南的CSS書寫
下一篇iis6 jquery