You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery Ajax表单提交循环问题求助:页面反复刷新

解决你的AJAX登录页面反复刷新问题

看起来你的问题根源大概率是JavaScript语法错误,导致表单的默认提交行为没被成功阻止,所以页面才会反复刷新,URL也带上了表单参数。咱们一步步来排查修复:

1. 先修复最明显的语法错误

你贴的代码里success: functio...是拼写失误,应该是success: function()——少写了最后几个字母!这个语法错误会直接让整个AJAX代码失效,浏览器会跳过e.preventDefault()的执行,表单就会按默认的GET方式提交,自然会刷新页面并在URL里带上参数。

修正后的完整AJAX代码参考:

$(document).ready(function() {
  $('#login_form').submit(function(e) {
    // 先确认阻止默认提交的代码能执行
    e.preventDefault();
    console.log("表单默认提交已被拦截,开始发起AJAX请求"); // 加个日志方便测试

    $.ajax({
      type: "POST",
      url: '/lib/login.php',
      data: $(this).serialize(),
      success: function(response) {
        // 这里写登录成功后的逻辑,比如页面跳转或提示用户
        console.log("登录请求成功,返回内容:", response);
      },
      error: function(xhr, status, error) {
        // 别忘了处理错误情况,方便后续排查问题
        console.error("AJAX请求出错:", error);
      }
    });
  });
});

2. 排查其他潜在问题

如果修正语法后还是有问题,你可以检查这几点:

  • jQuery是否正确引入:要确保这段JS代码之前,你的HTML页面已经引入了jQuery库,比如:
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <!-- 再放置你的登录功能JS代码 -->
    
  • 表单ID是否匹配:确认你的<form>标签的id确实是login_form,没有拼写错误。
  • 打开控制台看报错:按F12打开浏览器开发者工具,切换到Console标签,看看有没有红色的错误提示——这是排查JS问题最直接的方式。

3. 验证PHP接口有效性

既然你说PHP页面运行正常,也可以单独测试/lib/login.php接口:用浏览器的Network面板或者调试工具,模拟POST请求并带上username和password参数,确认它能返回预期的响应(比如JSON格式的登录结果)。

按这个流程一步步排查,应该就能解决页面反复刷新的问题了!

内容的提问来源于stack exchange,提问作者Jordan Farris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:54:36