如何从一个函数为变量赋值并在另一个函数中访问它

时间:2016-11-21 06:01:48

标签: javascript php jquery

我正在使用变量来存储来自post方法的json数据。当我在post方法之外使用该变量时,它将其值显示为undefined。我如何访问该变量。这是我的代码。

/(.{7,}(?=[#?!@$%^&*-])|(?=[#?!@$%^&*-]).{7,})/

val是一个全局变量。并且我需要在从post方法分配后在另一个函数中使用此变量。

3 个答案:

答案 0 :(得分:1)

因为您要在异步函数中分配变量,所以代码将继续执行到第二个警报(val)并返回到回调函数,直到请求得到响应。您可以通过同步请求访问数据:

$.ajax({  
      url: "dat/jsondat.php",  
      async: false,  //config it here
      success: function(data){  
          alert(val); 
      }  
});

或者只是在成功回调中操作您的数据。

另一个选择是去ES6中的Promise。

答案 1 :(得分:0)

设置几毫秒的时间,然后像这样警告'val':

 var val;
 $.post("dat/jsondat.php",function(data)
 {

   alert(data);//this alert value
   val = data;
   alert(val);//this alert value
});

setTimeout(function(){
  alert(val);
  /* other functions */
},200)

答案 2 :(得分:0)

请将变量声明为 你的ajax请求之前的window.var(变量名),然后把ajax响应放入其中,然后尝试使用.. 我希望它会有所帮助。

相关问题