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

时间:2014-02-07 06:29:48

标签: javascript jquery html

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


        });

我正在编写代码以指向搜索结果页面并调用javascript函数以返回相应的结果。截至目前,这会重定向页面,并调用displaySearchEntries(term),但会立即消失。似乎重定向发生在调用函数之后,但我不知道为什么会发生这种情况或如何防止它。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

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

如果您想在下一页上发生某些事情,您需要找到一种方法将信息传递给该页面。通常使用查询字符串,发布表单,cookie或本地存储来完成。下一页需要查找该数据并进行处理。


使用查询字符串的基本构思:

第一页:

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

和searchscreen.html上的代码

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);
    }
});

答案 1 :(得分:0)

重定向页面上的呼叫功能。在搜索screen.html中使用document.ready

答案 2 :(得分:0)

当您使用window.location时,它会杀死浏览器中运行的所有脚本。您可以使用JQuery AJAX调用并使用回调函数来完成剩下的工作。

如果您不想使用AJAX功能,唯一可行的方法是使用参数来识别重定向。

window.location = "searchscreen.html?redirect=true";

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