ajax中回调的几个坑

ajax中回调的几个坑

大家好,又见面了,我是你们的朋友全栈君。

在前端开发中,经常要用ajax去拿后台接口返回的数据,总结几个ajax的回调的常见问题,供大家参考爬坑。

  1. 未定义contentType,可能会造成的传入后台的数据乱码,可以加上如下代码在ajax请求中 contentType:'application/json;charset=UTF-8',
  2. 约定好传到后台以及后台返回的数据类型,一般定义json类型。
    JSON.stringify():将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
    JSON.parse():将一个 JSON 字符串转换为对象

这两个是常用的json转换的api

  1. 在success或者error回调中,return 是拿不到值的,即使改变了async:false也拿不到,看下面的例子:
function checkUserTask(taskid){
        $.ajax({
            method:'get',
            url:URL.checkUserTask,
            async:false,
            data:{'id':taskid},
            success:(response)=>{
                console.dir(response)
                if(response.code==200 ){
                    return true;
                }else{
                   return false;
                }
            }
        });
    }

这种写法即使是成功或者失败,在调用checkUserTask方法时都是返回的undefined,拿不到true或者false标识,所以一般写法修改如下:

function checkUserTask(taskid){
        var flag = false;
      
        $.ajax({
            method:'get',
            url:URL.checkUserTask,
            async:false,
            data:{'id':taskid},
            success:(response)=>{
                if(response.code==200 ){
                    flag = true;
                }else{
                    flag = false;
                }
            }
        });
        return flag;
    }

在回调的后面return 就可以拿到返回值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107409.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【原创】无锁编程技术及实现

    【原创】无锁编程技术及实现无锁编程技术及实现作者:jx(360电商技术组) 1.基于锁的编程的缺点 多线程编程是多CPU系统在中应用最广泛的一种编程方式,在传统的多线程编程中,多线程之间一般用各种锁的机制来保证正确的对共享资源(share resources)进行访问和操作。在多线程编程中只要需要共享某些数据,就应当将对它的访问串行化。比如像++count(count是整型变量)这样的简单操作也得加锁,因为即便是增量操作

    2022年5月1日
    33
  • 流量矿场[通俗易懂]

    第二个流量魔盒,流量矿场,扫码注册,实名秒通过不刷脸,现在活动:实名通过秒送1台魔盒机,25天产13个币,现在币开盘价格0.11美元,估计后期会涨,不要错过第二个流量魔盒。速度撸起来。线下已经5块回收了!注册链接:http://sina.lt/fyFz苹果APP下载地址:https://9dun.cn/s/zjmalls 安卓APP下载地址:https://9dun.cn/s/zjmallss…

    2022年4月18日
    40
  • C++中的仿函数使用

    C++中的仿函数使用

    2021年11月20日
    58
  • pycharm qt designer_pycharm怎么运行py文件

    pycharm qt designer_pycharm怎么运行py文件pycharm集成QTdesigner+ui转py工具前言一、前期安装二、pycharm配置QTdesigner1.外部工具配置2.pycharm可直接调用designer三、pycharm配置pyuic(将ui文件转换为py文件)1.外部工具配置2.pycharm可直接调用pyuic工具四、显示代码和逻辑代码分离1.使用designer设计示意界面总结前言后面使用PyQt5开始设计界面、使用pycharm这个IDE进行逻辑代码和界面代码的融合。一、前期安装前提:按照《PythonGUI.

    2022年8月29日
    2
  • 渗透测试流程包括_渗透测试包含哪些内容

    渗透测试流程包括_渗透测试包含哪些内容目录渗透测试步骤 步骤一:明确目标 步骤二:信息收集 步骤三:漏洞探索 步骤四:漏洞验证 步骤五:信息分析 步骤六:获取所需 步骤七:信息整理 步骤八:形成报告 #流程总结 面试补充说明渗透测试步骤渗透测试与入侵的区别:渗透测试:出于保护的目的,更全面的找出目标的安全隐患。入侵:不择手段的窃取或取得目标的最大权限并予以控制。(是具有破坏性的)步骤一:明确目标1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。2、确定规则

    2025年6月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号