为什么 JQuery ajax 调用后页面会重新加载?

2023-12-15

我的目录如下:

根目录:Create.php
根/资源/js:ajaxLibrary.js

在我的 create.php 文件中,我有一个如下所示的表单:

<form id="form_profile_new" enctype="multipart/form-data">
    <!--some input fields-->  
    <button id="showLeft_details" onclick="submit_basic()" value="Create" style="float:right;">Create</button> <!--create-->  
</form>  
<script src="resource/js/ajaxLibrary.js"></script>

我的 ajaxLibrary.js 如下所示:

function submit_basic(event) {

    //var formData = new FormData($(this)[0]);
    //event.preventDefault();
    $.ajax({
        url: 'resource/php/submit_basic.php',
        type: 'POST',
        data: 'hello',
        async: false,
        success: function(response) {
            alert("Profile Successfully Created!");
            show_profile_sideMenu();
        },
        cache: false,
        contentType: false,
        processData: false
    });
    return false;
}

如果我运行此代码,ajax 可以工作并发出警报消息,但页面会重新加载。如果我使用 PreventDefault() 函数,那么 ajax 甚至不会运行。如果我取消注释使用 FormData 对象的第一行,那么 ajax 不会发出警报,但会重新加载页面。这里有什么问题吗?谁能解释一下吗?提前致谢。


为什么 JQuery ajax 调用后页面会重新加载?

这是因为您的函数中有一个 return 语句,并且您没有在 onclick 处理程序中返回。


你必须归还它:

onclick="return submit_basic()"  
// results like onclick="return false;". "false" is the return value;

因为你的函数有一个 return 语句,它返回false所以你必须在 onclick 处理程序中返回它。

或为您的按钮添加类型:

<button type="button" ....>Create</button>

按钮元素需要该类型,因为它的默认行为是提交表单。


但我仍然觉得内联事件处理程序不好,而是不引人注目并使用submit将表单提交到指定操作的事件:

$('#form_profile_new').submit(submit_basic);

or:

$('#form_profile_new').submit(function(){
   return submit_basic();
});

对于您的最新评论:

虽然如果我在 ajax 调用中使用 formData 那么它就不起作用。

这是因为$(this)表单中的数据不属于form但 window 作为函数是在全局范围内定义的。

您可以做的是,在函数的参数中传递表单,例如:

 onclick="return submit_basic(event, 'form_profile_new')"  

然后在函数中:

function submit_basic(event, form) {

    var formData = new FormData($('#'+form)[0]);

    // ajax call

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JQuery ajax 调用后页面会重新加载? 的相关文章

  • 当所选选项是下拉列表中已选择的选项时如何接收事件?

    动机 我想动态加载一个select使用来自 AJAX 调用的值 并允许用户select加载后列表中的第一项after它获得焦点 现在 第一项是selected项目 当您单击下拉列表并单击第一项时 什么也没有发生 我无法添加任何无效选择的占位
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 防止浮动换行,直到元素达到最小宽度

    我有可变宽度的 HTML 布局 内容左侧有一个固定宽度的菜单 div 可变宽度 由 css max width 和 min width 设置 对于非常窄的浏览器窗口 我希望内容包裹在菜单下方 我目前通过设置来实现这一点float left在
  • Jquery从下拉列表中获取所选值的id

    我有一个下拉列表 可以从数据库获取值 如下所示 get getJobs function jobs seljobs jobs var i 0 jobs forEach function n alert job id n id 32 67 4
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • 防止用户在下拉菜单中选择默认值

    我试图阻止用户选择默认的下拉菜单选项 有没有办法在下拉菜单选项中添加文本而不是值 我的代码
  • 按百分比设置 bootstrap 模态身高

    我正在尝试制作一个带有主体的模态 当内容变得太大时 该主体会滚动 但是 我希望模式能够响应屏幕尺寸 当我将最大高度设置为 40 时 它没有任何效果 但是 如果我将最大高度设置为 400px 它会按预期工作 但不会响应 我确信我只是错过了一些
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • W3C 验证器:“握手警报:unrecognized_name”

    我正在尝试验证我的网站W3C Nu Html 检查器 https validator w3 org nu doc https 3A 2F 2Fwww healthdrop in 2F但我遇到了以下错误 不知道为什么 IO 错误 握手警报 u
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • 我可以停止 :hover 应用于元素吗?

    假设我有一些 CSS button hover font weight bold 我怎样才能防止 hover随意应用样式 我的目标用例是当元素被禁用时 例如 使用这个 HTML
  • JSTL 在循环中每 5 个字段集创建一个新行

    您好 我目前正在迭代并在表中显示字段集列表 为了让布局变得更得体一些 我想在每次循环到达第五个字段集时创建一个新行 谢谢 JSP div class det table class det tr td td tr table div
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable

随机推荐

  • 没有为 Rack::Session::Cookie 警告提供秘密选项?

    我在 Fedora 17 下运行 Rails 3 2 3 Ruby 1 9 当我运行时 我收到此警告rails s 我该如何解决 安全警告 没有向 Rack Session Cookie 提供秘密选项 这构成了安全威胁 强烈建议您 提供一个
  • C++ 类中的成员是否保证是连续的?

    C 中的类成员是否保证是连续的 我尝试使用几乎所有流行的 C 编译器运行以下代码 并且all其中的结果是 4 它是变量 y 的相对地址 这是巧合 还是语言规范保证如此 难道编译器不会让成员 x 和 y 与类基本地址连续 彼此连续吗 请注意t
  • HTML5 - 拖放 div 和内部图像

    我有这种类型的元素 div style margin 20px background red height 400px width 400px a href target blank img style margin 40px src ht
  • 内存错误 Numpy/Python 欧几里得距离

    我正在尝试使用 numpy 和 python 运行 K 均值聚类算法 但如果我使用较大的 K 值 任何大于 10 的值似乎都会导致错误 就会不断遇到内存错误 我有两个大小为 42000 784 数据集 和 K 784 质心 的 numpy
  • 动态更改反应模式数据

    我有一个父组件 App js和一个子组件 MealModal js 当用户单击特定的餐食卡时 它会引发一个模式 该模式应显示有关餐食的更多信息 因此 我尝试找到一种方法来动态更改模态数据 具体取决于单击的餐卡 我尝试将餐食 ID 传递给on
  • 如何在循环中使用 woocommerce 数据属性

    我有一个自定义产品类型和自定义循环用于列出 woocommerce 产品 query args array post type gt product tax query gt array array taxonomy gt product
  • 在 64 位 Windows 10 上安装 OpenSSL for MSVC2017

    pro LIBS LC Qt Tools OpenSSL Win x86 lib llibssl LIBS LC Qt Tools OpenSSL Win x86 lib llibcrypto INCLUDEPATH C Qt Tools
  • 在 Windows 上使用 php 和 pear 发送邮件

    我正在尝试使用 php 脚本发送电子邮件 但收到错误这是我的代码 我正在使用 xampp netbeans 和 windows 我在 php ini 文件中包含了 pear 但仍然有错误任何想法 require once Mail php
  • rapply 到 R 中的嵌套列表

    我无法对嵌套列表进行说唱 以下是列表中一个元素的示例结构 F01 List of 7 0 data frame 16 obs of 3 variables lengths Factor w 8 levels 1 2 4 5 1 2 3 4
  • 生成_id即可。 MongoDB 中的 ObjectId 自动生成

    我正在开发一个创建永久链接的应用程序 我不知道如何将文档保存在 MondoDB 中 两种策略 ObjectId 自动生成 MongoDB 自动生成 id 我需要创建一个索引permalink字段 因为我通过永久链接获取信息 我还可以使用以下
  • 如何知道一个标签是否包含一个值或另一个标签?

    我在 java 中使用 DOM 表示 如何区分 xml 标签内部是否有值或是否有另一个嵌入标签 例如 我可以有
  • (char *) x 或 (void *) z 是什么意思?

    I know char x意味着指向 char 的指针 但我对什么感到困惑 char x means 这是一个演员阵容 您正在指示编译器处理x就好像它是一个char 无论其真实类型如何 仅当您真正知道自己在做什么时才应使用强制转换 对于某些
  • CSS3 多重变换

    我有一个 css3 动画 我使用下面的代码在 X 轴上旋转立方体 webkit keyframes spin2 from webkit transform rotateX 135deg to webkit transform rotateX
  • 安装因错误而失败 (Eclipse)

    当我尝试安装安装完成时出现错误 安装失败并出现错误 显示日志 即使我以管理员身份运行它也会发生这种情况 我使用的是 Windows 7 Professional 64 位 当我单击显示日志时 这就是我的情况看 2017 04 03 20 3
  • Apache-Ignite 集成作为 Hibernate 二级缓存未启动?

    我正在尝试将 Apache Ignite 设置为我的项目中的第二级 Hibernate 缓存提供程序 但我遇到了一个奇怪的异常 配置如下 POM xml Added
  • ggplot 中其他点的图例

    举这个问题的例子 Link 我想问是否可以在图例中添加额外的蓝点 dat lt data frame cond rep c A B each 10 xvar 1 20 rnorm 20 sd 3 yvar 1 20 rnorm 20 sd
  • 如何将变量从 php 发送到 Android 应用程序?

    大家好 我当前的 Android 应用程序中有一个活动 其中有一个网络视图 我想知道如何从该网站上的 php 获取变量并将其存储到我的 android 应用程序上的变量中 是的 我控制该网站 并且具有完整的编辑功能 我会解释一般需要做的事情
  • 在 OSX 上隐藏 Tkinter 应用程序的控制台

    当我启动基于 GUI Tkinter 的应用程序时 我试图隐藏终端 但是当我双击 OSX 上的 app py 文件时 会出现终端窗口 我尝试将扩展名更改为 pyw 并尝试使用 usr bin pythonw 启动它 但无论如何 终端窗口仍然
  • 无法快速移动键盘视图iOS9

    我需要实现一个拒绝键盘 向下滑动以拒绝 就像 iOS 上的股票消息应用程序中的键盘一样 我有这段代码来获取键盘视图 func keyboardWillShowWithNotification notification NSNotificat
  • 为什么 JQuery ajax 调用后页面会重新加载?

    我的目录如下 根目录 Create php根 资源 js ajaxLibrary js 在我的 create php 文件中 我有一个如下所示的表单