【问题标题】:Local variable is not assigning data to global variable javascript局部变量未将数据分配给全局变量 javascript
【发布时间】:2018-08-20 06:31:15
【问题描述】:

我有一个将数据返回给 getDates() 的函数,处理后我想要全局变量中的数据,但它不起作用。

var bookedDates=[];
function getDates(result) {
     var bookedDates1=result.split(",");
     var bookedDates2=[];
    for(i=1;i<bookedDates1.length;i++){
        bookedDates2.push(bookedDates1[i]);
    }
    bookedDates=bookedDates2;
}
alert(bookedDates);

$.ajax({
type: "POST",
url: "getbookeddates.php",
cache: false,
success: function(result){
    getDates(result);
//dates booked 
}

bookDates 在这种情况下是空白的,但它应该是一个包含 ["21","22"] 的数组。

【问题讨论】:

  • 你的函数没有被调用。在警报上方添加一行getDates(result);,或修改您的预定日期定义var bookedDates = getDates(result);
  • 从$.ajax()成功回调调用
  • @RohitMahto -- 请编辑您的问题并在其中包含代码。不要在 cmets 中发布代码。
  • 您的警报仍然会在您的 ajax 调用之前发生。将警报放入 ajax 成功函数中,然后重试。

标签: javascript arrays function global-variables local-variables


【解决方案1】:

看起来你犯了一个非常愚蠢的错误。 您正在声明函数 getDates 正在其中获取参数结果。 但是你没有调用函数所以函数内部在你调用它之前不会被执行。

尝试添加一个函数的调用行。

getDates(结果);

在警戒线之前。

【讨论】:

  • 问题已编辑,请再次查看,感谢回复,
  • Alert 在你的成功响应之前被调用,尝试在响应之后调用 alert。
  • 我想要函数 getDates() 之外的预定日期
猜你喜欢
  • 2016-06-25
  • 2011-09-10
  • 2019-03-20
  • 1970-01-01
  • 2018-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多