在制作注册表单验证时我们需要通过ajax请求数据,例如我们需要请求数据库中的用户名判断是否存在,这时我们就需要return,再者我们很多时候需要使用数据库中的数据,这时我们也需要将数据返回出去。

我们看下下面验证数据库是否存在输入的用户名却return undefined的例子

// 发送ajax请求

$.ajax({

type: "POST",

url: "checkName.php",

data: {

username: $inputVal

},

success: function(responseText) {

if (responseText === "denied") {

// 若已存在

return false;

} else {

return true;

}

}

});

在这我们我们发送了一个异步请求来验证输入的用户名,但结果却没有想的那样返回true or false,却返回了undefined,这是因为你发送了异步请求,但请求的数据还没返回回来,就已经执行到return语句,自然就返回了undefined。

所以我们需要将异步请求变为同步,用回调函数来发送return值,并在ajax的success回调中用变量存储返回值,。

var getFalse = function() {

return false;

},

getTrue = function() {

return true;

};

var getAjax = function(successFn, failFn) {

var callBackReturn;

// 发送ajax请求

$.ajax({

type: "POST",

url: "checkName.php",

// 发送同步请求

async: false,

data: {

username: $inputVal

},

success: function(responseText) {

if (responseText === "denied") {

$tipObj.html(tipText[2]);

callBackReturn = failFn();

} else {

$tipObj.html(tipText[3]);

callBackReturn = successFn();

}

}

});

return callBackReturn;

};

ajax请求return,细说JavaScript ajax异步请求return undefined相关推荐

  1. AJAX实现简单的注册页面异步请求

    AJAX简介 (1)AJAX = 异步 JavaScript 和 XML. (2)AJAX 是一种用于创建快速动态网页的技术. (3)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更 ...

  2. ajax 跨域 headers JavaScript ajax 跨域请求 +设置headers 实践

    解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头.正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现. 此处手札 供后人参 ...

  3. JavaScript实现异步请求并发数限制

    背景 上一篇<JavaScript 阻塞方式实现异步任务队列>实现了异步请求依次执行的方案,实际上就是限制同一时间只能有一个异步请求,并发请求数为1. 那实现流量控制,怎么实现并发数大于1 ...

  4. json请求 post vue_Spring Boot+Vueaxios异步请求数据的12种操作(上篇)

      Java大联盟 致力于最高效的Java学习 关注 Spring Boot + Vue 前后端分离最核心的操作就是通过异步请求完成数据同步,这其中又可以分为很多种不同的情况,比如是 GET 请求还是 ...

  5. PHP guzzle异步请求数据,Guzzle中的异步请求

    Guzzle中的异步请求 使用Guzzle发起异步请求 Guzzle是一个PHP的HTTP客户端,它在发起http请求时不仅可以同步发起,还可以异步发起. $client = new Client() ...

  6. http请求与响应,同步异步请求以及异步请求axios的配置

    文章目录 http http简介,协议 http请求 http响应 接收请求行请求头数据 同步异步请求 异步请求axios的配置 配置文件 http http简介,协议 http是超文本传输协议 (H ...

  7. Ajax异步请求方法(详细)

    使用ajax发送异步请求 原生js实现以及jquery ajax实现发送请求 文章目录 使用ajax发送异步请求 简介 实现方式 1.原生js实现 1.get请求 2.post请求 2.jquery ...

  8. Ajax——同步请求与异步请求

    Ajax--同步请求与异步请求 浏览器和服务器之间数据传输方式 同步方式 异步方式 两种方式有什么不同? 同步请求,服务器响应时,页面整体刷新 异步请求,服务器响应时,页面局部刷新 异步请求有什么优点 ...

  9. vue-d2admin-axios异步请求登录,先对比一下Jquery ajax, Axios, Fetch区别

    先说一下对比吧 Jquery ajax, Axios, Fetch区别之我见 引言 前端技术真是一个发展飞快的领域,我三年前入职的时候只有原生XHR和Jquery ajax,我们还曾被JQuery 1 ...

最新文章

  1. 异步FIFO芯片IDT7204、IDT7205的使用
  2. 有关OVM社区产品经理对OVM的29个问题解答!
  3. Perl 中的正则表达式
  4. 牛客题霸 [判断回文] C++题解/答案
  5. Apache 工作模式配置优化
  6. 循环遍历java属性_java中循环遍历实体类的属性和数据类型以及属性值
  7. C语言基础教程之头文件
  8. Ivy Bridge处理器
  9. android studio for android learning (十四) android的数据的存储sharedPreferences
  10. 物联网全栈教程-从云端到设备(四)
  11. 要在一个领域取得成就,就必须有对该领域的独特的执着
  12. SLAM闲谈(一)--词袋模型
  13. Mask R-CNN 训练自己的数据集—踩坑与填坑
  14. 第一天作业二 三级菜单的实现
  15. 数据结构 单词查找 二分法-索引表-Hash表
  16. dbms_xplan
  17. 论文阅读-工作流搭建尝试try1:Readcube+Obsidian
  18. 360杀软检测机制猜想
  19. Opensuse 13.2安装百度云客户端
  20. 新建 Microsoft Office Word 文档(C语言)

热门文章

  1. 手把手演示调整和使用Visio2013画简单架构图
  2. 建立个人博客的基本流程
  3. 唯品会Java开发工程师校招面经
  4. Java:Hutool工具箱之hutool-jsonJSON数据读取转换处理
  5. mysql hql查询语句_查询hql语句
  6. [paper]Adversarial Transformation Networks: Learning to Generate Adversarial Examples
  7. python代码练习2
  8. CentOS7.5-1804系统内核升级
  9. Word批量删除图片
  10. 【目标检测算法-锚框公式推导及代码详解】