Javascript 站点加载顺序reg

Javascript 站点加载顺序reg,javascript,cross-browser,Javascript,Cross Browser,我有一个运行IIS/Asp.net的网站的登录表单,它在预订期间运行非常缓慢 在登录页面,我正在执行以下操作: $("#submit1").trigger('click') //this will login into PAGE1 using form.submit() setTimeout(function(){ window.location = "/PAGE2"; },500); PAGE1有一个指向PAGE2的GET链接 我只想知道它会把我带到第二页还是第一页 因为IIS服务器将首先

我有一个运行IIS/Asp.net的网站的登录表单,它在预订期间运行非常缓慢

在登录页面,我正在执行以下操作:

$("#submit1").trigger('click') //this will login into PAGE1 using form.submit()

setTimeout(function(){
window.location = "/PAGE2";
},500);
PAGE1有一个指向PAGE2的GET链接

我只想知道它会把我带到第二页还是第一页

因为IIS服务器将首先处理表单提交并发送PAGE1内容。然后它将发送GET请求PAGE2内容

浏览器(Chrome和Firefox)将如何运行?如果它首先收到POST响应,那么它会放弃PAGE2 GET响应吗

或者它会用GET响应(第2页)覆盖POST响应(第1页)

假设收到POST响应(第1页),现在站点显示第1页。1分钟后,收到GET响应(第2页)。现在浏览器将做什么

我想描述序列(即示例):



代码 这将触发id为
submit1
的元素上的单击事件。假设它是一个用于登录的按钮

然后 有两种可能,因为您没有提到这是否通过Ajax实现

  • 如果使用ajax,那么如果登录过程在500毫秒内完成,那么您将成功登录到
    PAGE1
    ,并重定向到
    PAGE2
    。因为它是ajax

  • 如果您没有使用ajax,那么代码

    setTimeout(函数(){ window.location=“/PAGE2”; },500);

  • 将被忽略。因为在第一个事件本身,它将带您进入
    PAGE1
    ,并且
    Login Page
    中此脚本的生命周期将结束。因此,您将无法进入
    PAGE2
    。如果要转到
    PAGE2
    ,则应在
    PAGE1
    中添加上述代码

    注 如果请求GET和POST不是通过Ajax发出的,那么它在脚本的生命周期中就没有任何作用

    更新 不,POST和GET不会同时触发

    首先,将触发POST

    如果它首先收到POST响应,那么它会放弃PAGE2 GET响应吗


    因为GET请求是从登录页面发出的,并且是POST消息的结果,所以您已经被重定向到第1页。因此,GET响应甚至不会被浏览器捕获。

    换句话说,我理解您的问题是“我的浏览器将加载哪个页面?”

    broswer将加载它最近发出的任何请求

    如果您的按钮单击请求超过500毫秒以加载新页面资源,则按钮单击请求应被覆盖以加载第2页。如果页面在500毫秒之前加载,则应加载第1页。。这有点像问如果我在地址栏中键入www.google.com,然后按enter键,然后输入www.facebook.com会发生什么。。。您认为哪种资源将加载?。。。您最近提出的请求

    顺便说一句,window.location=“…”将执行服务器请求,就像您的asp按钮单击一样


    我建议您打开google chrome网络选项卡,调查/观察您以何种顺序向服务器发出的呼叫

    当加载另一个页面时,您的代码(包括计时器)将被销毁。登录页面的URL是什么,第1页和第2页?@wOxxOm登录页面位于bit.ly/2s7Kc3K。但如果在执行计时器后收到表单提交响应,会发生什么情况?相反,我检查了代码时,网站是不是很慢。它直接把我带到了第2页这里没有Ajax。谢谢你的回答,但如果有很好的技术证明,我会很高兴的。这就是我所需要知道的。明天我会给你一个好答案。目前的答案是,从第2点开始。将适用于您
    $("#submit1").trigger('click') //this will login into PAGE1
    
    setTimeout(function(){
    window.location = "/PAGE2";
    },500);