获取当前的DOM元素

时间:2017-05-13 02:21:57

标签: javascript jquery symfony

我有一个功能正常的网站,其中包含一个搜索功能,可以通过jQuery $ .ajax调用将结果加载到<div>元素中,如下所示:

$.ajax({
    url:        '{{ path('order_search') }}',
    type:       $(this).attr('method'),
    data:       $('#search_form').serialize(),
    success:    function (data) {
        $('#js-search-results').html(data);
    }
});

我正在symfony项目中的twig模板中工作,因此是url表示法。这很完美。

这是在需要登录的网站上。我在symfony中有一个事件监听器,它检查每个内核请求的一段时间是否不活动(取自here),如果非活动期超过maxIdleTime,则用户被重定向到登录页面。

我的问题是,如果用户在一段时间内处于非活动状态然后进入搜索,则js-search-results div将填充登录页面。我想要发生的是让整个窗口重定向到登录页面。看似简单,但我还没弄明白该怎么做。

我想要处理的是我的登录页面脚本检查它是否被加载到完整窗口(而不仅仅是div元素),如果没有,则刷新整个窗口。怎么做?

2 个答案:

答案 0 :(得分:1)

听起来你想知道那里有什么类型的数据,如果是登录页面则进行重定向。

查明data是否包含登录页面中的元素。如果是window.location.href = "/login",如果不在div中显示搜索结果。从{page : "login"}

等后端发送数据

答案 1 :(得分:1)

您可以查看变量&#34; 数据&#34;内的内容。检查它是否包含登录页面中的元素,然后使用if else语句。

if(data.includes("username") && data.includes("password")){
  window.location.assign("https://your.login.page.html");
}else{
  $('#js-search-results').html(data);
}