當使用ajax跨域請求時,瀏覽器報錯:XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯定是跨域的問題,如果用jsonp或者proxy的方式進行修改的話未免需要太大的工程量,所以采用CORS這種比較簡單高效的技術。相比JOSP的方式,CORS更為高效。JSONP由于它的原理只能實現GET請求,而CORS支持所有類型的HTTP請求。使用CORS,可以使用普通的ajax實現跨域,這對于前端來說是極大的福音了,這個技術被現在大多數瀏覽器所普遍支持,因為跨域已經是普遍的要求,瀏覽器肯定會逐漸流出適當的‘后門'出來專門用以跨域。
瀏覽器支持情況
經本人測試IE瀏覽器中IE10及以上才可正常發送請求
1.服務器端對于CORS的支持,是通過設置Access-Control-Allow-Origin來進行的。如果瀏覽器檢測到相應的設置,就可以允許Ajax進行跨域的訪問,也就是相應的‘后門'。
設置Apache:Apache需要使用mod_headers模塊來激活HTTP頭的設置,它默認是激活的。你只需要修改Apache配置文件中的httpd.conf文件:
原始代碼
在處理請求的PHP文件中設置:
httpd.conf中:
前臺代碼:
新聞熱點
疑難解答