有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    重定向页面的标准“普通”JavaScript方式

    window.location.href = 'newPage.html';
    

    或者更简单地说:(因为window是全球性的)

    location.href = 'newPage.html';
    

    If you are here because you are losing HTTP_REFERER when redirecting, keep reading:

    (Otherwise ignore this last part)


    以下部分是针对那些将HTTP_REFERER作为许多安全措施之一(尽管它不是一个很好的保护措施)的人。如果使用Internet Explorer 8或更低版本,则在使用任何形式的JavaScript页面重定向(location.href等)时,这些变量都会丢失

    下面我们将为IE8&;降低,这样我们就不会失去HTTP_REFERER。否则,您几乎总是可以简单地使用window.location.href

    测试HTTP_REFERER(URL粘贴、会话等)可以帮助判断请求是否合法。 注意:还有一些方法可以绕过/欺骗这些推荐人,正如droop在评论中的链接所指出的)


    简单的跨浏览器测试解决方案(对于Internet Explorer 9+和所有其他浏览器,返回window.location.href)

    用法:redirect('anotherpage.aspx');

    function redirect (url) {
        var ua        = navigator.userAgent.toLowerCase(),
            isIE      = ua.indexOf('msie') !== -1,
            version   = parseInt(ua.substr(4, 2), 10);
    
        // Internet Explorer 8 and lower
        if (isIE && version < 9) {
            var link = document.createElement('a');
            link.href = url;
            document.body.appendChild(link);
            link.click();
        }
    
        // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
        else { 
            window.location.href = url; 
        }
    }
    
  2. # 2 楼答案

    如果你能更详细地描述一下你要做的事情,这会有所帮助。如果您正试图生成分页数据,那么可以选择如何生成。您可以为希望直接访问的每个页面生成单独的链接

    <a href='/path-to-page?page=1' class='pager-link'>1</a>
    <a href='/path-to-page?page=2' class='pager-link'>2</a>
    <span class='pager-link current-page'>3</a>
    ...
    

    请注意,示例中的当前页面在代码和CSS中的处理方式不同

    如果您希望通过AJAX更改分页数据,jQuery就是这样做的。您要做的是向对应于不同页面的每个锚定标记添加一个单击处理程序。这个点击处理程序将调用一些jQuery代码,通过AJAX获取下一页,并用新数据更新表。下面的示例假设您有一个返回新页面数据的web服务

    $(document).ready( function() {
        $('a.pager-link').click( function() {
            var page = $(this).attr('href').split(/\?/)[1];
            $.ajax({
                type: 'POST',
                url: '/path-to-service',
                data: page,
                success: function(content) {
                   $('#myTable').html(content);  // replace
                }
            });
            return false; // to stop link
        });
    });