V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ArthurRen
V2EX  ›  前端开发

Web 小白请教一个问题,为什么在 html 表单中按下 enter,自动提交表单内容, http 就会 pending?而按下按钮再提交就一切正常?

  •  
  •   ArthurRen · 2018-12-06 00:44:16 +08:00 · 2605 次点击
    这是一个创建于 2203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端的 jsp 页面:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>登录</title>
            <link type="text/css" rel="stylesheet" href="css/signPage.css"/>
            <link type="text/css" rel="stylesheet" href="css/common.css"/>
        </head>
        <body>
            <%@include file="header.jsp"%>
            <div class="middleWrapper">
                <div class="formContainer">
                    <form method="POST" action="http://127.0.0.1:8080/controller/SignInServlet">
                        <h2 class="formTitle">登录</h2>
                        邮箱:<br/>
                        <input type="text" name="email"/><br/>
                        密码:<br/>
                        <input type="password" name="password" /><br/>
                        <input type="submit" class="button" value="登录" />
                        <input type="button" class="button" style="float:right" value="注册" onclick="location.href='./signUp.jsp'"/>
                    </form>
                </div>
            </div>
        </body>
    </html>
    

    alt text

    第 1 条附言  ·  2018-12-07 00:35:05 +08:00

    请求对比

    6 条回复    2018-12-07 01:13:33 +08:00
    ArthurRen
        1
    ArthurRen  
    OP
       2018-12-06 00:53:42 +08:00
    Firefox 没有这个问题。。。
    sker101
        2
    sker101  
       2018-12-06 00:58:19 +08:00 via iPhone   ❤️ 1
    为啥提交西需要加个 onclick 跳转的事件?
    FrankFang128
        3
    FrankFang128  
       2018-12-06 01:04:34 +08:00   ❤️ 1
    1. input type=submit
    2. 删掉 onclick
    ArthurRen
        4
    ArthurRen  
    OP
       2018-12-06 22:45:03 +08:00
    @sker101 这个是注册的按钮
    ArthurRen
        5
    ArthurRen  
    OP
       2018-12-07 00:59:32 +08:00
    打开 chrome://net-internals 查看日志,发现请求似乎被拦截了

    48765: URL_REQUEST
    http://localhost:8080/controller/SignInServlet
    Start Time: 2018-12-07 00:55:06.585

    t=116783 [st=0] +REQUEST_ALIVE [dt=?]
    --> delegate_blocked_by = "MojoAsyncResourceHandler"
    --> has_upload = true
    --> is_pending = true
    --> load_flags = 2049 (MAIN_FRAME_DEPRECATED | VALIDATE_CACHE)
    --> load_state = 3 (WAITING_FOR_DELEGATE)
    --> method = "POST"
    --> status = "SUCCESS"
    --> url = "http://localhost:8080/controller/SignInServlet"
    ArthurRen
        6
    ArthurRen  
    OP
       2018-12-07 01:13:33 +08:00
    感谢  https://www.v2ex.com/t/507334  这个帖子提供的一点线索。
    卸载了 Proxy SwitchyOmega 就好了,看来请求是被这个代理的插件给拦截了。
    也是醉了,我就想写一个登录的页面,没想到就被这个问题给堵了好几天,看来学习 web 开发真是长路漫漫。。。

    感谢  @FrankFang128 @sker101 ,虽然没有解决问题,但还是感谢两位大佬的回复。

    结贴。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4909 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 09:51 · PVG 17:51 · LAX 01:51 · JFK 04:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.