解决ajax异步传输数据,return返回为undefined的问题

news/2024/7/19 14:05:45 标签: js

正确写法 

返回值应设置全局变量 var isExitResult = true;


/*
* 验证是否存在
* 返回值应设置全局变量 var isExitResult = true;
* 
*/
function isExitOaIntelligenceBox(){
    // var params = new Array();
    var boxIdVal = $('#boxId').val();
    var isExitResult = true;
    $.GAjax({
        url : GlobalParam.context + "/box/isExit?boxId=" + boxIdVal,
        type : "POST",
        async:false,
        success : function(data) {
            if(data){
                var options = {};
                options.modalId = "oaIntelligenceBoxAlert";
                options.content = "您录入的" + boxIdVal +"已存在!"
                options.title = "提示";
                options.width = 300;  //自定义宽度
                options.height = 200; //自定义高度
                require("pageComponent").GViewInfo(options);
                isExitResult = false;
            }else{
                isExitResult = true;
            }
        },
        error : function() {
            isExitResult = false;
        }
    });
    return isExitResult;
}

返回值应设置全局变量 var isExitResult = true;不能直接写作 return true或者return false,那样的话返回的是undefined。

比如这样的写法是错误的

错误写法一


/*
* 
* 验证是否存在
* 返回结果是undefined
*/
function isExitOaIntelligenceBox(){
    // var params = new Array();
    var boxIdVal = $('#boxId').val();
    $.GAjax({
        url : GlobalParam.context + "/box/isExit?boxId=" + boxIdVal,
        type : "POST",
        async:false,
        success : function(data) {
            if(data){
                var options = {};
                options.modalId = "oaIntelligenceBoxAlert";
                options.content = "您录入的" + boxIdVal +"已存在!"
                options.title = "提示";
                options.width = 300;  //自定义宽度
                options.height = 200; //自定义高度
                require("pageComponent").GViewInfo(options);
                return false;
            }else{
                return  true;
            }
        },
        error : function() {
            return  false;
        }
    });
}

错误写法二


/*
* 
* 验证是否存在
* 返回结果永远是true
*/
function isExitOaIntelligenceBox(){
    // var params = new Array();
    var boxIdVal = $('#boxId').val();
    $.GAjax({
        url : GlobalParam.context + "/box/isExit?boxId=" + boxIdVal,
        type : "POST",
        async:false,
        success : function(data) {
            if(data){
                var options = {};
                options.modalId = "oaIntelligenceBoxAlert";
                options.content = "您录入的" + boxIdVal +"已存在!"
                options.title = "提示";
                options.width = 300;  //自定义宽度
                options.height = 200; //自定义高度
                require("pageComponent").GViewInfo(options);
                return false;
            }else{
                return  true;
            }
        },
        error : function() {
            return  false;
        }
    });
    return true;
}

 


http://www.niftyadmin.cn/n/1160181.html

相关文章

Tab 的三种方法

看到网址上有很多tab。所有研究了一下关于tab。发现三种方法&#xff0c;分享一下 前台代码&#xff1a; 1 <div class"tabdiv">2 <div id"tab-container-1">3 <ul id"tab-container-1-nav">4 <li…

疑惑:更新数据时,其中某个字段的值就是更新不成功

该应用是一个办公系统。在提交流程后&#xff0c;流程引擎会执行流程回调方法&#xff0c;更新业务数据的流程状态、流程实例id信息&#xff0c;单偏偏流程实例id就是不能更新成功。其他字段都可以正常更新。奇怪&#xff01;&#xff01;&#xff01;

项目文件跟Google学习Android开发-工具篇-Android Studio入门

最近朋友几篇文章介绍了改项目文件的文章. 关联文章的地址 Android Studio入门 提前预览 Android Studio是一个基于IntelliJIDEA的新的Andr oid开辟环境。与Eclipse ADT插件相似&#xff0c;AndroidStudio提供了集成的Andr oid开辟工具用于开辟和调试。除了你期望的IntelliJ的能…

解决textarea值FreeMarker在生成word时不换行的问题

textarea中值假如有换行&#xff0c;在保存到数据库时将换行保存成了\n&#xff0c;而在使用free marker生成word时&#xff0c;会将\n替换成空格。所以将text area值中将\n替换<w:br/>即可。 String content textArea.replaceAll("\n", "<w:br/>…

软件职业思维带给我的影响(Java)

我从事Java软件工作也有几年的光景了&#xff0c;虽算不上大拿级别&#xff0c;但是勉强糊口还是可以的。这个工作干久了总会是影响到你的生活当中去。 昨天下午由于公司财务部门人员需要我提交一些发票&#xff0c;同时要统计一下自己的发票金额。所以呢我就从各个电商平台下…

胶片曝光时的排版

这个本来没啥 不是什么算法 绝技。 都不值得一提。 其实这个是医学影像胶片曝光时排版的一个逻辑。 dicom标准第三部分 主要是讲IOD定义 在第166页有这样的描述&#xff1a;表C.13.5-1图象盒象素描述组件属性名称 标记       说明图象位置 (2020,0010)  基于…

DB2 时间戳Long转换为日期时间格式

long 不加毫秒 time 1273763951 select LEFT( CHAR( TIMESTAMP( 1970-01-01 08:00:00 ) ( 字段名 / 1 ) SECONDS ) ,19 ) from 表名; 实例&#xff1a; SELECTID,TITLE,LEFT( CHAR( TIMESTAMP( 1970-01-01 08:00:00 ) ( START_TIME / 1 ) SECONDS ) ,19 ) START_TIME,L…

国产操作系统CPU架构对应的安装软件格式

安装包后缀名: .deb 命名格式一般按照芯片架构进行命名 arm架构&#xff08;飞腾、鲲鹏&#xff09;&#xff1a;.arm64.deb mips架构&#xff08;龙芯4000&#xff09;: mips64el.deb loongarch64 &#xff08;龙芯5000&#xff09;: loongarch64.deb x86_64(amd,int…