Cross-Origin Resource Sharing(CORS)是用于在瀏覽器和服務(wù)器之間共享資源的機(jī)制。如果在域中的某個網(wǎng)頁上使用了jQuery來向不同的域發(fā)出HTTP請求,那么就需要使用CORS。jQuery提供了一個$.ajax()函數(shù)來方便地進(jìn)行跨域請求。
使用$.ajax()函數(shù)可以輕松地請求CORS。我們只需要在請求頭信息中explicitly添加額外的跨域參數(shù)options,就能輕松實(shí)現(xiàn)CORS。例如下面的代碼:
$.ajax({ url: "http://api.example.com/data", type: "GET", dataType: "json", crossDomain: true, success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log(error); } });
如上所示,通過設(shè)置crossDomain選項(xiàng)為true,jQuery將使用CORS來發(fā)出請求。起始,必須注意到在授權(quán)服務(wù)器中進(jìn)行相應(yīng)的設(shè)置。如果授權(quán)服務(wù)器沒有相應(yīng)的CORS配置,那么瀏覽器將不會允許訪問其他域的資源。另外,瀏覽器必須支持CORS,否則請求將失敗。
總的來說,使用jQuery的$.ajax()函數(shù)請求CORS是一個很容易的方法。開發(fā)者只需要添加一個crossDomain選項(xiàng)以及在服務(wù)端進(jìn)行相應(yīng)的配置即可愉快的進(jìn)行跨域請求。需要注意的是,如果您不了解CORS或沒有相應(yīng)的服務(wù)器配置,則可能會遇到一些互操作問題。