我有一個表格,在用戶過濾后由結果填充。每個結果都會將用戶帶到一個詳細信息頁面。我希望用戶在不重置表格的情況下返回搜索結果。詳細信息頁面上的“返回結果”按鈕包含以下 JavaScript:document.getElementById('back').onclick = function(e){const newpage = window.open("index.html?fromDetail=yes", "_self");newpage.onload = advancedSearchFromDetail()}這是到達目標頁面后執(zhí)行的 JavaScript 函數(shù):function advancedSearchFromDetail () { event.preventDefault() var table = $('#mainTable').DataTable() table.clear() // Get the parameters in the sessionStorage const pe1id = sessionStorage.getItem('pe1id'); const pe2id = sessionStorage.getItem('pe2id'); const plid = sessionStorage.getItem('plid'); const dateFrom = sessionStorage.getItem('dateFrom'); const dateTo = sessionStorage.getItem('dateTo'); const includeUndated = sessionStorage.getItem('includeUndated'); const data = new FormData() data.append('pe1id', pe1id) data.append('pe2id', pe2id) data.append('plid', plid) data.append('dateFrom', dateFrom) data.append('dateTo', dateTo) data.append('includeUndated',includeUndated) const oReq = new XMLHttpRequest(); oReq.open("post", 'modules/advanced_search.xq', true); oReq.send(data); oReq.onreadystatechange = function () { if (oReq.readyState === XMLHttpRequest.DONE && oReq.status === 200) { const result = JSON.parse(oReq.responseText); [populate the table] } } 奇怪的是,這段代碼在從主頁啟動時有效。所有參數(shù)都在那里并正確發(fā)送。然而,響應是空的,空白的。如果我雙擊瀏覽器控制臺中的 XHR 詳細信息以打開帶有參數(shù)的 .xq 文件,我什至會在新頁面中獲得 JSON 結果!我在看什么?如果參數(shù)在那里,XHR 調(diào)用在那里,我得到 200 狀態(tài)等等,我不明白為什么它不起作用。編輯如果我在瀏覽器的控制臺中啟動該功能,它就可以工作。這是否與我調(diào)用函數(shù)的事實有關newpage.onload = advancedSearchFromDetail()?如果是,我該如何解決?
來自 XHR 的空響應
侃侃爾雅
2022-06-05 09:43:36