`
javawangzilong
  • 浏览: 57076 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

关于jquery的ajax提交到服务器

阅读更多
刚入职不久,今天用jquery的ajax写了一段代码
$(window).unload( function () {
	var tempPath = $("#tempPath").val();
	var userCode = document.getElementById("chatMain_userCode").value;
	$.ajax({
          type: "post",
          url: tempPath+"/ChatOnlineController?action=changeStatusOff&userCode="+userCode+"&id="+Math.random(),
        });
} );

想在用户刷新或关闭浏览器的时候能够去访问服务器,但是无论如何,后台也接收不到数据,但是如果在这段代码后加上一个alert提示的话,后台的服务器是能够接收到数据的,这个问题非常费解。

后来经过查资料才发现是ajax的同步异步的问题,在原来的代码里加上async:false 就行了,也就是说让它变成同步的。通过网上查阅的资料得知:

因为调用异步的ajax请求在一些浏览器下无法真正使server得到通知,实际上根本无法保障!在发出了这个异步请求之后,浏览器就要关闭窗口并清理所 有相关资源,因为这是异步请求,所以浏览器有理由认为无需等待该请求完成即可开始关闭窗口,这样该请求就可能失败(IE上就是这样,用异步请求无法通知到 server)。这也解释了为什么异步callServer()调用后面再加个alert语句就没问题了,因为alert语句在后面挡着,需要人来点确 认,所以可以完成对server的请求。而用同步的ajax请求则浏览器会等待该请求完成后才关闭窗口清理资源,因而就不会有这个问题。

新手,多多关照
分享到:
评论

相关推荐

    使用jQuery ajax提交表单代码

    在“使用jQuery ajax提交表单代码”的资源中,我们可以期待看到一个清晰的示例,展示如何将表单数据发送到服务器,并处理响应。 1. **jQuery的$.ajax()函数** - **基本语法**:`$.ajax({ options });` - **选项...

    JQuery Ajax提交整个表单

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互等任务。...理解这些概念和用法,能够帮助开发者在jQuery 1.3.2或其他版本中高效地实现表单的Ajax提交。

    jquery+ajax实现无刷新提交的功能

    通过上述分析可知,利用jQuery与Ajax技术实现无刷新提交功能的关键在于正确配置`$.ajax()`方法的各项参数,并确保后端逻辑能够正确处理接收到的数据。这种技术的应用极大提高了用户的操作体验,减少了不必要的资源...

    ajax提交表单到后台

    ### 一、前端:使用jQuery的AJAX提交表单 1. **引入jQuery库**:首先确保在HTML文件中引入了jQuery库。可以使用CDN链接或本地文件,例如: ```html <script src="https://code.jquery....

    asp+jquery ajax实例源码,添加,删除,修改,分页

    - 在前端,jQuery监听表单提交事件,阻止默认的表单提交行为,然后使用$.ajax()发送包含新数据的POST请求到ASP服务器端脚本。 - ASP接收到请求后,通过ADO(ActiveX Data Objects)处理数据库操作,如使用SQL ...

    spring框架项目+jQueryAjax提交实例。jquery-3.3.1.min.js

    标题中的"spring框架项目+jQueryAjax提交实例"指的是一个整合了Spring框架和jQuery AJAX技术的Web应用程序项目。这个项目提供了一个完整的流程,演示了如何在前端使用jQuery的AJAX功能向后端Spring MVC控制器发送...

    php+jquery+ajax最简单例子

    5. **Ajax回调**:当Ajax请求完成,jQuery的回调函数会被调用,接收到的服务器响应数据可以在这里处理。将响应数据插入到页面的适当位置,更新用户界面。 这个例子的核心在于展示了客户端(JavaScript/jQuery/Ajax...

    jQuery Ajax过滤器

    **jQuery Ajax过滤器详解** 在Web开发中,Ajax...结合`AjaxForm`插件,我们可以轻松地实现表单的Ajax提交,同时保持数据的正确性。在实际开发中,灵活运用这些工具和技巧,能够提升Web应用的性能和用户体验。

    jqueryajax jquery ajax

    1. **表单提交**:通过AJAX,可以实现无刷新表单提交,提高用户体验。 2. **动态加载内容**:如分页、下拉刷新等,只更新页面的一部分,而不是整个页面。 3. **实时更新**:例如聊天应用,实时显示新消息。 4. **...

    jquery ajax源代码

    ### jQuery AJAX 源代码分析 #### 一、概述 jQuery 是一款优秀的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载...

    php Jquery ajax 登陆

    在这里,jQuery将用于发起AJAX请求,并处理服务器的响应。 3. **AJAX(Asynchronous JavaScript and XML)**:尽管名称包含XML,但现代AJAX通常涉及JSON格式的数据交换。它允许我们在不刷新整个页面的情况下与...

    jQuery Ajax无刷新提交表单并执行邮件通知

    在Ajax提交成功后,后端服务器可以调用邮件服务API,如SendGrid、Mailgun等,将表单内容发送到指定邮箱。后端代码可能包括PHP、Node.js、Python等,它们将处理Ajax请求并触发邮件发送。例如,PHP可以使用PHPMailer库...

    jQuery-ajax-用户名异步请求

    这个过程可以通过Ajax调用后台接口实现,避免用户频繁提交表单进行检查。 首先,我们需要在HTML中创建一个输入框和一个按钮,用于获取用户名和触发异步请求: ```html 请输入用户名"> 检查用户名 ``` 然后,我们...

    jquery ajax 与后台验证

    - **发送AJAX请求**:当触发事件时,构建一个AJAX请求,将当前输入的值作为参数发送到服务器。 - **处理响应**:服务器返回验证结果,可能是JSON格式的数据。在AJAX的success回调中,解析响应并根据结果更新UI,...

    传智播客 jQuery ajax 课件

    - 用户无刷新登录验证:使用AJAX提交用户登录信息,服务器验证后返回结果,无需刷新页面即可展示反馈。 - 实时更新数据:如股票报价、天气预报等,通过定时AJAX请求获取最新数据。 - 动态加载内容:如分页、无限...

    Jquery ajax 获取验证码

    在用户输入验证码后,我们需要再次使用AJAX提交表单进行验证。这通常发生在表单提交事件中,例如: ```javascript $("#myForm").submit(function(event) { event.preventDefault(); // 阻止默认表单提交行为 var ...

    jquery ajax提交整个表单元素的快捷办法

    本文将深入探讨如何使用jQuery的Ajax方法快速提交整个表单元素,包括涉及的关键知识点和代码示例。 首先,让我们了解jQuery的`serialize()`函数。这个函数能够将表单中的所有可序列化元素(如input、textarea、...

    jquery ajaxfrom表单提交代码

    本篇文章将详细介绍如何使用jQuery的`ajaxForm()`方法来实现表单的Ajax提交。 首先,让我们理解`ajaxForm()`的基本用法。在HTML中,你需要有一个表单元素,例如: ```html 用户名" required> 密码" required> ...

    jquery upload ajax方式

    **jQuery Upload AJAX方式详解** 在Web开发中,文件上传是一个常见的功能,传统的文件上传通常需要刷新整个页面,用户体验较差。随着Ajax技术的发展,无刷新上传文件成为可能,jQuery结合Ajax提供了一种优雅的解决...

    jQuery Ajax 登陆和注册页面

    3. **Ajax提交**:注册过程与登录类似,只是提交的数据和服务器端的验证逻辑更复杂,可能涉及数据库操作。 **五、自动验证插件的使用** 自动验证插件可以实时检测用户输入,提供即时反馈。jQuery Validation ...

Global site tag (gtag.js) - Google Analytics