美文网首页
Ajax 异步return undefined 踩坑

Ajax 异步return undefined 踩坑

作者: FTOLsXD | 来源:发表于2018-02-05 20:33 被阅读150次

由于之前开发都会用其他前端框架自带的remote方法,并且对ajax等前端内容涉及面也少,才尝此果。

需求:需要在每次提交表单时进行唯一性校验。

function duplicateValidCertNo(value){
var result = false;
$.ajax(
{ type: "POST",
url: "${webRoot}/account/duplicateValidCertNo",
data: { certNo: value },
success: function(data){
if(data.status){
errorMsg(data.msg);
}else{
result = true;
}
}
})
return result;
}

遇到的坑:每次调用该方法返回的都是undefind

解决方法:搞了半天未果,求助度娘,下面真相。被自己蠢哭。

在这我们我们发送了一个异步请求来验证输入的用户名,但结果却没有想的那样返回true or false,却返回了undefined,这是因为你发送了异步请求,但请求的数据还没返回回来,就已经执行到return语句,自然就返回了undefined。
所以我们需要将异步请求变为同步,用回调函数来发送return值,并在ajax的success回调中用变量存储返回值。
function duplicateValidCertNo(value){
var result = false;
$.ajax(
{ type: "POST",
url: "${webRoot}/account/duplicateValidCertNo",
data: { certNo: value },
async: false,
success: function(data){
if(data.status){
errorMsg(data.msg);
}else{
result = true;
}
}
})
return result;
}

相关文章

  • Ajax 异步return undefined 踩坑

    由于之前开发都会用其他前端框架自带的remote方法,并且对ajax等前端内容涉及面也少,才尝此果。 需求:需要在...

  • 细说JavaScript ajax异步请求return unde

    细说JavaScript ajax异步请求return undefined 文章写在我的慕课手记,请点击链接浏览。

  • 2017.10.13

    一.通讯录后台接口调整 二.js return爬坑 return ;这样写换行导致返回的为undefined;主...

  • @Responsebody作用

    在ajax异步请求中,希望返回的类型是json数据,加上@Responsebody就会return json数据类...

  • ajax踩坑

    嵌套使用如果嵌套的ajax请求的数据有依赖关系,同步执行会导致错误出现。 使用上述选项避免嵌套的同时执行。

  • 踩过的坑--ajax异步调用

    ajax在js中经常会用到,最近就遇到个很奇怪的问题,获取的值用控制台打印出来总是不符合预期,由于数据很多,逻辑很...

  • Ajax请求的数据绑定给组件

    用了一天的时间搞这个,踩坑不少 1.state这个对象内部可以是任意的数据类型2.ajax请求是异步进行的,所以数...

  • return递归函数,异步返回问题

    今天遇到一个return一个递归函数,数据异步,导致返回undefined。 后来改变了思路,先把list的所有l...

  • 动态Web编程

    一、AJAX异步提交 异步提交AJAX = Asynchronous JavaScript and XML(异步的...

  • 关于函数function

    函数的最后一句默认return undefined,写不写都会默认return undefined 综上所述,做个...

网友评论

      本文标题:Ajax 异步return undefined 踩坑

      本文链接:https://www.haomeiwen.com/subject/eqwizxtx.html