值未传递给变量(JQuery、Javascript)
Value is not passed to Variable(JQuery, Javascript)
我有一个JQuery代码,如下所示:
$.post("count_images.php",{}, function(data)
{
if (data != '')
{
alert(data);
}
else
{
//Error
}
});
它只是向count_images.php
发送一个请求,并返回一个数字,例如23
。这工作得很好,但当我把它改成这个:
var number_images;
$.post("count_images.php",{}, function(data)
{
if (data != '')
{
number_images = data;
}
else
{
//Error
}
});
alert(number_images);
它不能正常工作。报警功能始终输出一个undefined
。我只想把保存在data
中的结果保存在一个名为number_images
的变量中,这样我就可以继续使用它了。事先非常感谢。
$.post()
方法是异步的,所以当第二个代码片段运行时,alert
将在AJAX POST返回日期之前被触发,因此number_images
是undefined
(因为它还没有填充)。
您可以通过使用$.ajax()并传递async: false
和method: 'POST'
标志来同步执行POST。但这通常不是一个好主意,因为它违背了AJAX的全部目的(毕竟,a代表异步)。
或者,使用回调函数(与第一个代码段相同)或使用jQueryPromise API攻击其他回调。例如
$.post("count_images.php")
.done(function(data)
{
if (data != '')
{
alert(data);
}
else
{
//Error
}
});
请记住$.post()是一个异步方法,所有代码都在回调函数中,因此当
alert(number_images);
调用时,回调函数可能尚未运行,因为$.post()仍在等待响应。
您需要在回调中放入任何使用number_images的内容。定义另一个类似的函数可能会有所帮助:
var number_images;
var do_stuff_with_number_images = function() {
alert(number_images);
// any other code referencing number_images goes here
};
$.post("count_images.php",{}, function(data)
{
if (data != '')
{
number_images = data;
}
else
{
//Error
}
do_stuff_with_number_images();
});
alert(number_images);
var number_images,
data ='';
$.post("count_images.php",{}, function(data)
{
if (data != '')
{
number_images = data;
}
else
{
//Error
}
});
alert(number_images);
相关文章:
- jQuery/Javascript.toggleClass/.classList.toggle的特殊行为
- 学生搜索项目jquery/javascript
- jQuery/JavaScript在线公文包表单-打印样式表
- 如何在页面加载中使用Jquery/Javascript确定img源
- DataTables合并了两个独立表中的jQuery/Javascript函数
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- 如何在jquery+javascript中只在输入框中输入数字(使用regex)
- 在Jquery/Javascript中的Array中插入Textbox值
- 使用Jquery/Javascript替换CSS属性
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 在for循环中未获取JQuery/JavaScript对象值
- 使用jQuery/Javascript在Facebook上发送消息
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 使用jQuery+Javascript识别一个空文本节点
- jquery/javascript字符串中的撇号
- jQuery/Javascript在内容可编辑的当前段落后插入元素
- 在页面加载时激活jQuery/Javascript函数
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- Jquery/Javascript使用IF/ELSE语句更改img SRC