如何在jQuery中将$.post()函数的变量转换为另一个变量?

如何在jQuery中将$.post()函数的变量转换为另一个变量?,jquery,Jquery,当我的文档准备就绪时,我正在使用jQuery中的POST()方法设置一个变量。现在我想在另一个函数中使用这个变量,我该怎么做呢 $(document).ready(function(){ $.post('count_products.php',function(data){ var count_products = data; }); }); 现在我想在另一个函数中使用count_products变量,该函数在focusout事件上执行。我无法访问它的值,因为它的范围仅

当我的文档准备就绪时,我正在使用jQuery中的POST()方法设置一个变量。现在我想在另一个函数中使用这个变量,我该怎么做呢

$(document).ready(function(){
    $.post('count_products.php',function(data){
    var count_products = data;
    });
});
现在我想在另一个函数中使用count_products变量,该函数在focusout事件上执行。我无法访问它的值,因为它的范围仅限于其自身的功能。解决办法是什么

我读过很多关于stackoverflow的文章,其中定义了通过创建函数并返回其值等不同的方式传递变量。 但没有一种解决方案是有效的


您的最佳做法是什么?

创建具有全局范围的变量:

$(document).ready(function(){
    var count_products;
    $.post('count_products.php',function(data){
    count_products = data;
    });
});
$(document).ready(function(){
   var count_products = 0;
    $.post('count_products.php',function(data){
    count_products = data;
    });
});

我想我已经做了你需要做的。检查我的小提琴:


在这里大声思考,但是如果您在脚本的最开始实例化变量:var count_products=null;,会怎么样;。然后在$,post函数中,只需更改它的值即可。您可以将count_products设置为全局变量。Altaf可以使用,全局变量,可以使用.ajaxSuccess(handler),还可以使用pub/sub模式来执行您想要的操作
$(document).ready(function(){
var products = "initial string";

$(document).on('click', '#set_var', function(){
    products = 'button was clicked';
});

$(document).on('click', '#get_var', function(){
    alert(products);
});
});