`
rentianchou
  • 浏览: 69677 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js在ajax提交时不会等待返回值

阅读更多
function validataUnFinish(){
				var t = "";
				var t1 = "";
				
				$(":checkbox[name='roomIndexId'][checked]").each(function(i){
						t = t+$(this).attr("value")+",";
					});
				if(t!=""){
						alert("进入ajax内部");
						$.post("ajaxValidateUnFinish",{"indexRoomIndexs":t},function(data){
							if(data!=null&&""!=data){
								t1 = data;
								alert(data+"????"+t1);
							}
						});
					}
					alert("ccc");
				if(t1!="")
					return false;
				return true;
			}

 如代码所示,我的目的是找出多选按钮,然后活得里面的值,传到后台。后台根据传过来的值来判断是否符合条件并返回结果。开始以为js是从上到下执行,所以会先执行回调方法。然后在执行alert("ccc")。后来尝试发现总是先alert("ccc"),然后在不定时alert回调函数返回的数据。想了想,其实js是单线程的,在执行ajax提交后它并不会保证接受到返回值才执行下面的方法体,因为你返回值是不确定何时返回的。所以执行变相解决问题了。

分享到:
评论

相关推荐

    一个奇怪的问题使用ajax提交必须alert才能赋值

    然而,当你遇到"一个奇怪的问题使用ajax提交必须alert才能赋值"这样的问题时,这通常涉及到异步编程的特性以及JavaScript执行的顺序。 在描述中提到的情况,开发者尝试将AJAX请求的返回值赋给一个变量,但发现无论...

    ajax表单提交.docx

    首先,我们看到一个名为`ajaxRequest.js`的JavaScript文件,该文件封装了一个功能,用于处理AJAX表单提交。主要函数`submitRequest`接收几个参数,包括需要提交的表单对象`formObj`、提交方式`method`(POST或GET)...

    如何用selenium封装post参数提交示例

    封装POST请求的关键在于模拟表单提交或者使用JavaScript执行AJAX请求。以下是一个简单的例子,展示如何使用Selenium来封装POST参数: ```python from selenium import webdriver from selenium.webdriver.common....

    Ajax知识点.docx

    而Ajax请求是异步的,它允许在等待服务器响应的同时执行其他脚本。 3. **请求与响应**:Ajax可以发送GET或POST请求。GET用于获取数据,通常用于查询操作;POST用于提交数据,适合数据修改或创建新记录。在响应方面...

    快速解决ajax返回值给外部函数的问题

    在Ajax中,异步(asynchronous)意味着当一个XMLHttpRequest对象被发送到服务器时,JavaScript不会停止执行,而是在等待服务器响应的同时继续执行后续代码。这允许网页在等待服务器响应时仍然可以响应用户的操作,...

    第34章 项目1-博客前端:封装库--Ajax注册1

    Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),允许我们在不刷新整个网页的情况下与服务器交换数据并局部更新页面,极大地提高了交互性。 一、问题所在 传统的网页表单提交方式存在一些不足之...

    lotus domino AJAX 判断已经存在用户

    Lotus Domino AJAX 判断已存在用户的技术实现主要涉及前端JavaScript和后端Lotus Domino代理的交互。...以下是对这一过程的详细...这个机制可以提高用户体验,因为它可以在用户输入时实时验证,而无需等待整个表单提交。

    第34章 项目1-博客前端:封装库--Ajax登录1

    Ajax(Asynchronous JavaScript and XML)的核心优势在于它允许网页在无需刷新整个页面的情况下与服务器进行交互,从而避免了传统表单提交时页面刷新的中断感。 **一、问题所在** 传统的登录方式通常涉及以下问题:...

    AJAX数据刷新

    在给定的代码示例中,我们可以看到一个典型的AJAX数据刷新场景——登录表单提交。 #### 一、前端AJAX调用 前端使用jQuery的`$.ajax`方法发起POST请求到服务器端的`loginajax.aspx`页面,请求类型为`POST`,并指定...

    浅析onsubmit校验表单时利用ajax的return false无效问题

    然而,在某些情况下,利用`onsubmit`结合`Ajax`进行异步验证时,可能会遇到`return false`无效的问题,这会使得表单即使在验证失败的情况下仍然被提交。本文将深入探讨这个问题的原因及解决方案。 首先,我们来理解...

    js 弹出框

    在异步请求(如Ajax)中,弹出框可以用于显示加载状态或提示用户等待。使用`Promise`或`async/await`可以更好地控制异步流程,确保在正确的时间显示和关闭弹出框。 8. 阻止页面跳转: 当用户点击表单提交或链接时...

    关于ajax的使用方法_例题、ajax的数据处理

    Ajax,全称Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这种技术可以提升用户体验,因为...

    js+springMVC 提交数组数据到后台的实例

    在JavaScript和SpringMVC框架中,进行数据交互是常见的任务,特别是当需要将数组数据从前端传递到后端时。本实例将详细讲解如何通过AJAX实现这一过程。 首先,前端部分使用JavaScript的jQuery库来构造AJAX请求。在...

    Jquery表单验证失败后不提交的解决方法

    // 如果验证通过,可以在这里添加进一步的处理,如Ajax提交等 return true; // 允许表单提交 } ``` 在这个例子中,我们验证了用户名和密码字段是否为空。如果任一字段为空,就会弹出警告,并返回`false`阻止表单...

    Ajax实现异步刷新验证用户名是否已存在的具体方法

    通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着用户在使用网页时不需要等待服务器的处理,从而提升了用户体验。 #### 2. 异步刷新的概念 异步刷新是指在不中断用户操作流程的情况下,...

    全面剖析XMLHttpRequest对象

    当`readyState`为4时,`responseXML`将解析后的XML文档树作为返回值,便于JavaScript进行DOM操作和数据处理。 #### 结论:掌握XMLHttpRequest的力量 理解XMLHttpRequest的工作原理及其API的使用是现代Web开发者的...

    大名鼎鼎SWFUpload- Flash+JS 上传

    虽然Flash提供了上传服务,但是页面并不会提交或者重新载入。相比于标准的HTML Form,SWFUpload的使用方式更像是AJAX程序,页面中的Form会和FLASH控制的文件上传单独处理。 入门 SWFUpload并不是拖放式的上传控件...

    JS:几个Javascript项目的存储库

    1. **变量与数据类型**:JavaScript是一种动态类型语言,允许在运行时声明和改变变量的数据类型。基本数据类型包括数字(Number)、字符串(String)、布尔值(Boolean)、null、undefined,以及后来引入的Symbol和...

    images.rar J S教学新手

    JavaScript(简称JS)是一种轻量级的解释型编程语言,广泛应用于网页和互联网应用开发。作为新手学习JS,首先需要了解其基础概念和语法结构。JS最初由Brendan Eich在1995年为Netscape Navigator浏览器开发,目的是使...

Global site tag (gtag.js) - Google Analytics