【问题标题】:Direct linking to a gov.uk ASP page (possibly user session related)直接链接到 gov.uk ASP 页面(可能与用户会话相关)
【发布时间】:2013-11-25 19:55:01
【问题描述】:

我对 ASP 不熟悉,但我需要直接链接到 http://carfueldata.direct.gov.uk/ 网站上的一个页面,我假设它内置了 .aspx 扩展名。我的问题是,当用户第一次点击链接时,目标页面立即将他们重定向到主页,大概是因为需要某种用户会话(?),我不知道。对我的访问者来说不是一个好的用户体验。第二次点击链接时,它会愉快地显示。我的用户点击链接两次的可能性很小。

是否有标准的 URL 参数或我可以附加的东西来告诉 ASP 平台生成用户会话而不是重定向。

要自己查看问题,请在新窗口中打开此链接,然后将其关闭,然后重复。第一次它将重定向到主页。第二次没有:http://carfueldata.direct.gov.uk/search-new-or-used-cars.aspx?vid=30392

【问题讨论】:

    标签: asp.net url-parameters


    【解决方案1】:

    看起来他们正在为此目的使用会话。据我所知,没有任何方法可以覆盖它。

    但是您可以为此做一些工作。 调用 jQuery ajax 函数到主页并在其 complete 事件上重定向。 在调用 ajax 函数时,cookie(即会话集)将在客户端的浏览器上设置,并在 ajax 调用后将用户重定向到页面。(不允许用户直接访问的页面)

    <a href="#" onclick="LinkClick()">Click to go</a>
    
    function LinkClick()
    {
    $.ajax({
            type: "get",
            url: "http://carfueldata.direct.gov.uk",
            dataType: 'jsonp',
            complete: function (msg) {
            window.location.href=" http://carfueldata.direct.gov.uk/search-new-or-used-cars.aspx?vid=30392";
            }
        });
     return false;
    }
    

    【讨论】:

    • 设置dataType: 'jsonp'很重要。否则浏览器将不允许跨域请求。
    • 我一直认为,当您在 StackOverflow 上帮助某人时,很高兴看到解决方案的实时集成,所以请访问 comcar.co.uk/details/MINI/Convertible/1.6i%20Cooper%20122hp 打开左侧栏中的“排放”选项卡并查看“VCA”关联。您的 JQuery 解决方案的实现可以在 details.js 中找到。非常感谢。
    • @MartinJoiner 链接失效。你必须设置dataType: 'jsonp',
    • 欢迎您!我希望它有所帮助。
    • dataType: 'jsonp', 已添加。在多种设备和浏览器上进行了测试。所有作品。
    【解决方案2】:

    当您最初向网站提交请求时,您会收到 302 状态(已移动(暂时))并重定向到主页。这是因为您的请求中没有会话 ID cookie。来自服务器的重定向响应会为您创建会话 ID cookie,从那时起,该站点将接受后续请求。

    不知道你用的是哪个客户端库,不过应该可以截取服务器发送的重定向请求,把重定向到首页的URL替换成你原来的请求URL。由于重定向响应包含会话 ID cookie,我们可以假设会话已经创建并且您的原始请求应该立即生效,而无需对主页进行冗余访问。

    【讨论】:

    • 谢谢,但我不明白您建议的解决方案。您似乎在暗示 my 服务器将向 carfueldata.direct.gov.uk 网站发出请求。然后您是否建议我捕获响应并将其显示给我的最终用户?
    • 我假设您正在开发某种客户端系统(您没有在问题中说清楚),在这种情况下,我假设您将显示响应。如果不是这样,那么这个答案可能不是您想要的。
    猜你喜欢
    • 2022-07-19
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多