我想發送一個普通的get請求,它像普通的get請求一樣替換整個頁面,但如果可能的話使用jQuery。我還需要在請求中發送2個參數。如何用params發送get請求而不使用ajax
我不想用結果替換文檔中的某些內容,結果是完整的文檔。
這裏的代碼仍然會發送一個Ajax請求,我的網頁沒有與響應刷新..
$.get({
url: '/swap_games',
data: { source: sourceElem, target: targetElem }
});
我想發送一個普通的get請求,它像普通的get請求一樣替換整個頁面,但如果可能的話使用jQuery。我還需要在請求中發送2個參數。如何用params發送get請求而不使用ajax
我不想用結果替換文檔中的某些內容,結果是完整的文檔。
這裏的代碼仍然會發送一個Ajax請求,我的網頁沒有與響應刷新..
$.get({
url: '/swap_games',
data: { source: sourceElem, target: targetElem }
});
jQuery有一個load()
方法,這是否適合你。
.load(url, [data,] [complete(responseText, textStatus, XMLHttpRequest)])
舉例如下:
$('html').load('/swap_games', data: { source: sourceElem, target: targetElem });
還是有回調:
$('html').load('/swap_games', data: { source: sourceElem, target: targetElem }, function() {
alert('load complete callback');
});
更多信息here
你需要它取代了內容的第三函數參數來傳遞。
$.get('/swap_games', { source: sourceElem, target: targetElem }, function(data) {
$('html').replaceWith(data);
})
我無法獲得正確的語法。我完整的原始js函數是 – markhorrocks
我不想用結果替換頁面內容的任何部分。結果將是一個完整的文檔,我想它作爲一個正常的請求加載。 – markhorrocks
$.get({
url: '/swap_games',
data: { source: sourceElem, target: targetElem }
success: function(data){
$('html').html(data);
})
});
這仍然需要替換我的頁面內的內容,但我想用結果替換整個文檔。 – markhorrocks
我沒有足夠的聲望點數在接受評論答案,但應該注意的是,load()方法在數據存在時執行POST請求作爲一個對象提供,就像它在接受答案的例子中一樣。如果提供了字符串,則執行GET請求。
還應該注意的是,load()和$ .get()方法都是異步的,可能不需要您的情況。你可能要找的是
window.location.href = "http://your_url_with_any_query_parameters";
沒有jquery需要。
.load不會接受數據: – markhorrocks
是的,實際上它會。看看這個例子,它在普通的網站。另外,我提供了一個鏈接到jquery資源,它也展示瞭如何使用'load()'傳遞數據。 – Gabe
它發出取消請求,但根本沒有取代我的網頁,原來的地方仍然存在。這仍然看起來像是要將結果中的內容替換爲頁面? – markhorrocks