webapi在配置文件中加入這幾句就可以解決ajax(同源策略是JavaScript里面的限制,其他的編程語言,比如在C#,Java或者iOS等其他語言中是可以調用外部的WebService,也就是 說,如果開發Native應用,是不存在這個問題的,但是如果開發Web或者Html5如WebApp,通常使用JavaScript ajax對WebService發起請求然后解析返回的值,這樣就可能存在跨域的問題。)跨域請求調用的問題?為什么呢?
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true" /> <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>
原來這是瀏覽器基於安全的考慮,當跨域請求時,瀏覽器收到響應消息后,只有文件頭消息中含有Access-Control-Allow-Origin屬性才可以將消息主體的數據進行處理。