Ajax成功功能无法在自定义功能内访问

镍3

如何在同一功能中访问“ mentorlist”变量。“导师列表”是ajax调用的成功。但是我无法在mentors()函数中访问它。

function mentors(){
    var mentorslist = '';
    $.ajax({
      type: "POST",
      url: <?php echo  '"'.base_url().'index.php/MentorList/'.'"'; ?>,
      data: { pagelimit: 1,json: "true" },
      success: function( msg ) 
      {
          var obj = jQuery.parseJSON(msg);
          var $mentor_list ="";  
          var mlist = '';
          jQuery.each( obj.resset, function( i, val ){
            mlist = mlist+'<option value="'+val.mentor_Id+'">'+val.Name+'</option>';
            $("#mlist").get(0).options[$("#mlist").get(0).options.length] = new Option(val.Name,val.mentor_Id);
          });
         mentorslist = mlist;   //Able to access here
        }
    }); 

    return mentorslist; // gives undefine error
}

看到这里mentorslist变量设置为ajax成功,并尝试通过自定义函数返回该变量,但是它返回的是我未定义的变量。

盖塔诺

因为Ajax是异步的,所以只有在触发成功事件时才具有变量值。因此,您可以定义自己的函数来调用成功:

        var mentorslist = '';

        function mentors(myCallBack) {
            return $.ajax({
                type: "POST",
                url: "yourPHP",
                data: {pagelimit: 1, json: "true"},
                success: function(msg) {
                    myCallBack(msg);
                }
            });
        }

        mentors(function(msg) {
            var obj = jQuery.parseJSON(msg);
            var $mentor_list = "";
            var mlist = '';
            jQuery.each(obj.resset, function (i, val) {
                mlist = mlist + '<option value="' + val.mentor_Id + '">' + val.Name + '</option>';
                $("#mlist").get(0).options[$("#mlist").get(0).options.length] = new Option(val.Name, val.mentor_Id);
            });
            mentorslist = mlist;   //Able to access here
        });

在任何情况下,您都可以将ajax调用的async属性始终设置为false,以便将ajax调用从async更改为syncnus:

      function mentors(){
            var mentorslist = '';
            $.ajax({
                async: false,
                type: "POST",
                url: <?php echo  '"'.base_url().'index.php/MentorList/'.'"'; ?>,
            data: { pagelimit: 1,json: "true" },
            success: function( msg )
            {
                var obj = jQuery.parseJSON(msg);
                var $mentor_list ="";
                var mlist = '';
                jQuery.each( obj.resset, function( i, val ){
                    mlist = mlist+'<option value="'+val.mentor_Id+'">'+val.Name+'</option>';
                    $("#mlist").get(0).options[$("#mlist").get(0).options.length] = new Option(val.Name,val.mentor_Id);
                });
                mentorslist = mlist;   //Able to access here
            }
        });
        return mentorslist;
      }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ajax成功功能无法在自定义功能内访问

来自分类Dev

自定义功能无法识别

来自分类Dev

AJAX成功代码中的自定义切换功能

来自分类Dev

AJAX成功代码中的自定义切换功能

来自分类Dev

自定义功能

来自分类Dev

jQuery中的自定义自动完成功能

来自分类Dev

无法在角度自定义指令链接功能中访问attr数据

来自分类Dev

从侦听器或自定义功能访问视图

来自分类Dev

Google表格未在自动完成功能中显示自定义功能

来自分类Dev

自定义查找功能

来自分类Dev

等待自定义功能

来自分类Dev

Mybatis自定义功能

来自分类Dev

Sympy自定义功能

来自分类Dev

Jmeter自定义功能

来自分类Dev

自定义查找功能

来自分类Dev

自定义指标功能

来自分类Dev

自定义功能中断

来自分类Dev

标题按钮内的自定义功能反应原生

来自分类Dev

jQuery自定义日期功能无法正常工作?

来自分类Dev

CakePHP控制器自定义功能无法识别

来自分类Dev

无法识别JQuery自定义插件功能

来自分类Dev

无法与自定义功能Google App脚本比较时间

来自分类Dev

Excel自定义日历功能无法正常工作

来自分类Dev

自定义类上的Flash功能无法识别

来自分类Dev

自定义拖放功能无法完美运行

来自分类Dev

git的自定义bash自动完成功能破坏了其他git自动完成功能

来自分类Dev

如何在zsh中为自定义完成功能的路径添加自动完成功能?

来自分类Dev

为什么此自定义采购功能无法使我声明的变量在全球范围内可用?

来自分类Dev

具有自动完成功能的自定义交互式外壳