首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在重定向或刷新之后调用函数?

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

Stack Overflow用户
提问于 2014-02-07 06:29:48
回答 3查看 4K关注 0票数 0
代码语言:javascript
复制
$('#submit').click(function(){
        window.location.replace("searchscreen.html");
            var term = $('#search').text();
            displaySearchEntries(term); 


        });

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-07 06:37:44

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

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

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

第一页:

代码语言:javascript
复制
$('#submit').click(function(e){
    e.preventDefault();
    var term = $('#search').text();
    window.location.replace("searchscreen.html?search=" + encodeUriComponent(term));
});

和searchscreen.html上的代码

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2014-02-07 06:46:01

重定向page.In搜索screen.html上的调用函数使用document.ready

票数 0
EN

Stack Overflow用户

发布于 2014-02-07 06:50:48

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

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

代码语言:javascript
复制
window.location = "searchscreen.html?redirect=true";

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21620786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档