隨著越來越多的網站應用,同步請求不再滿足我們的需求,Ajax異步技術得到了廣泛的使用。而與此同時,跨域問題也是越來越嚴重。幸好,jquery提供了很好的支持來解決這個問題!
在進行跨域請求時,有一個經常受到忽視的問題,即cookie。如果你要傳遞cookie,需要確保設置了xhrFields對象中的withCredentials選項為true。
$.ajax({ xhrFields: { withCredentials: true }, url: "http://www.example.com/ajax", dataType: "jsonp", success: function(data) { console.log(data); } });
需要注意的是,如果你使用的是jsonp數據類型,需要在后臺進行相應的設置。具體的做法是設置Access-Control-Allow-Origin,將其設置為允許Ajax請求的域名,同時設置Access-Control-Allow-Credentials為true,告訴瀏覽器允許發送cookie。
header('Access-Control-Allow-Origin: http://www.example.com'); header('Access-Control-Allow-Credentials: true');
如此一來,你就可以愉快地進行跨域請求,并且傳遞cookie了!
上一篇css怎么插表格打印
下一篇css怎么搞梯形