详情

首页手游攻略 Ajax请求成功后return无法接收到返回值的问题及解决方案实用指南

Ajax请求成功后return无法接收到返回值的问题及解决方案实用指南

佚名 2026-08-31 15:10:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Ajax请求成功后return无法接收到返回值的问题及解决方案”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

实际处理时,项目中需频繁的用到ajax请求,所以就想用一个方法将整个请求封装起来,直接调用方法传递参数,随后得到请求结果就能够了。
源代码如下所示:

getAddressInfo(lng, lat) {
    axios.get("/proxy/reverse_geocoding/v3/?ak=" + BDAK + "&output=json&coordtype=wgs84ll&location=" +
      "" + lat + "," + lng, {
      dataType: "JSONP"
    }).then(res => {
      return res
    })
}

在这个场景下,调用这个方法之后,一直无法接收到return的值,一直都是undefined
实际处理时,后来百度查看原因是因为,ajax是异步请求,当js代码执行到这里的时候,不会等待异步请求完毕,就直接return了,所以值就一直是undefined
针对这个问题,能够采用promise,就能够解决

return new Promise((resolve, reject) => {
接口请求成功就resolve出去
失败就reject出去
})

export function getAddressInfo(lng, lat) {
  return new Promise((resolve, reject) => {
    axios.get("/proxy/reverse_geocoding/v3/?ak=" + BDAK + "&output=json&coordtype=wgs84ll&location=" +
      "" + lat + "," + lng, {
      dataType: "JSONP"
    }).then(res => {
      resolve(res)
    }).catch(err => {
      reject('')
    })
  })
}

到此这篇关于ajax请求成功后return无法接收到得到值的文章就介绍到这了,更多相关ajax无法接收到得到值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!

您可能感兴趣的文章:

  • jquery ajax return没有得到值的解决方法
  • 更快解决ajax得到值给外部函数的问题
  • 解决ajax请求后台,有时收不到得到值的问题
  • ajax请求后台接口数据与得到值处理js的实例讲解
  • jquery+ajax请求且带得到值的代码
  • js拿到ajax得到值代码

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载