在Web開發中,跨域請求限制(Same-Origin Policy)對于前端頁面的開發和數據交互帶來了一定的限制,而jQuery為我們提供了一些便捷的跨域請求操作。
如果我們需要向一個跨域的頁面發送post請求,并且需要在請求成功后刷新當前頁面,我們可以使用如下的代碼:
$.ajax({ type: 'POST', url: 'http://example.com/submit', data: $('#form').serialize(), crossDomain: true, xhrFields: { withCredentials: true }, success: function () { location.reload(); } });
以上代碼將向'http://example.com/submit'發送一個跨域POST請求,并將表單數據序列化后作為POST請求的數據內容(#form為表單的id),同時設置了crossDomain和xhrFields.withCredentials為true。其中,crossDomain設置為true是告訴jQuery此次請求是跨域請求,而xhrFields.withCredentials為true則可以使跨域請求攜帶當前頁面的cookie信息。
在請求成功后,將執行location.reload()刷新當前頁面。
在進行跨域請求時,需要注意的是跨域的服務器需要允許跨域請求,否則將會出現跨域請求失敗的情況。