javascript - 覆盖ajax调用中的javascript变量

标签 javascript jquery ajax

我想覆盖status来自 ajax 调用的变量..我尝试了这种方式,但它没有覆盖 status变量...请帮助我。

 function myfunction()
            {
                var status = "";
                $.ajax({
                    type: 'POST',
                    url: "<?php echo base_url() ?>login/ajaxsessioncheck/",
                    success: function(data)
                    { 
                            status="new value"; 

                    }
                });
                alert(status)
            return status;
            }

最佳答案

一个可能的解决方案可能是这样的,

function ajaxsessioncheck(myCallback)
            {
                var status = "";
                $.ajax({
                    type: 'POST',
                    url: "<?php echo base_url() ?>login/ajaxsessioncheck/",
                    success: function(data)
                    { 
                            //status="new value"; 
                        myCallback(data);

                    }
                });
//                alert(status)
//            return status;
            }

所以你可能想做的是,

if(ajaxsessioncheck()){
//then session still exists
}

但你实际上应该做类似的事情,

ajaxsessioncheck(function(data){

  status = "new value";
  alert(status);
//go to next page 
//or do next action that is only allowed if session still exists

});

还有 Arun P Johny 的评论中提到的线程,How do I return the response from an asynchronous call? ,全面解释了如何解决这个特定问题以及与 ajax 请求的同步和异步行为相关的问题。

关于javascript - 覆盖ajax调用中的javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22129474/

相关文章:

javascript - Blockly,检测连接/移除/拖动/释放 block

javascript - 调整大小时如何修复页脚重叠内容

javascript - 单击选择框时的 Ajax 弹出窗口

javascript - 将数据从 jquery ajax 添加到 JSON 对象

php - AJAX 调用的自定义 PHP 错误

javascript - 通过 Ajax 和 PHP 在 HTML 页面上显示数据库中的内容

javascript - 将选项卡更改为 Accordion - 单击时 Accordion 菜单不会折叠

javascript - React-loadable 仅从相对路径获取 block

javascript - 检测到屏幕外的 Div

javascript - 有没有办法在 document.ready 上加载 doubleclick.net 广告代码?