Javascript 重定向或刷新后如何调用函数?

Javascript 重定向或刷新后如何调用函数?,javascript,jquery,html,Javascript,Jquery,Html,我正在编写代码来指向搜索结果页面,并调用javascript函数来返回适当的结果。到目前为止,这会重定向页面,并调用displaySearchEntries(术语),但会立即消失。似乎重定向是在调用函数之后发生的,但我不知道为什么会发生重定向,也不知道如何防止重定向。有什么建议吗?您无法控制下一页。一旦发生重定向,该页面就完成了 如果你想在下一页发生什么事情,你需要找到一种方法将信息传递到该页。这通常是通过查询字符串、发布表单、cookies或本地存储来完成的。下一页将需要查找该数据并对其进行处

我正在编写代码来指向搜索结果页面,并调用javascript函数来返回适当的结果。到目前为止,这会重定向页面,并调用displaySearchEntries(术语),但会立即消失。似乎重定向是在调用函数之后发生的,但我不知道为什么会发生重定向,也不知道如何防止重定向。有什么建议吗?

您无法控制下一页。一旦发生重定向,该页面就完成了

如果你想在下一页发生什么事情,你需要找到一种方法将信息传递到该页。这通常是通过查询字符串、发布表单、cookies或本地存储来完成的。下一页将需要查找该数据并对其进行处理


使用查询字符串的基本想法:

第一页:

$('#submit').click(function(){
        window.location.replace("searchscreen.html");
            var term = $('#search').text();
            displaySearchEntries(term); 


        });
和searchscreen.html上的代码

$('#submit').click(function(e){
    e.preventDefault();
    var term = $('#search').text();
    window.location.replace("searchscreen.html?search=" + encodeUriComponent(term));
});

调用重定向页面上的函数。在search screen.html中使用document.ready

当您使用window.location时,它将终止浏览器中运行的所有脚本。您可以使用jqueryajax调用并使用回调函数来完成其余的工作

如果您不想使用AJAX函数,那么唯一可能的方法就是使用一个参数来标识重定向

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

$(function(){   
    //read querystring
    var term = getParameterByName("search");
    //run your search
    if(term.length) {
        displaySearchEntries(term);
    }
});

检查重定向变量并调用$(document).ready()中的函数。

加载searchscreen后,必须调用displaySearch函数。。你必须在加载搜索屏幕时调用此函数。我尝试将其放入$(document).ready()中,但这似乎没有什么区别。onLoad()应该不同吗?编辑:我试着将display()放在onLoad=中,但它没有改变任何东西..准备好还是加载都没有关系。。但是包含函数dipslayEntries的脚本必须出现在搜索屏幕页面中。。将术语作为查询字符串传递给searchscreen.htmlen新页面加载后如何调用函数?在新页面上必须有一个onload处理程序。没有办法从调用下一个的页面开始。我认为对于更新的,这是可行的。。但不是一般的位置。替换或导航。可以只使用javascript使用POST吗?请您解释一下替换在那里做什么?为什么需要替换这些字符?
window.location = "searchscreen.html?redirect=true";