随着框架的发展,我决定将其拆分为文件,而不是将其保留在主设计文件中。但是通过这样做,函数的返回不会返回任何值。
数据不为空-如果我警告js文件中的值,它们在那里!
功能:
1 .js文件中的函数(在执行之前包含)
var lock_get = 0;
function get_data(data, destination)
{
if (lock_get == 0)
{
lock_get = 1;
$.ajax({
type: "POST",
url: destination,
async: true,
data: data,
success: function(data)
{
lock_get = 0;
if (data)
{
return data;
}
}
});
}
};
因此,这是执行部分:
var test = get_data(data, destination);
notice(test);
并且测试是空的…我已经尝试了不同的编写方式,但是我想我误解了js的可能性吗?
您不能这样做:由于调用是异步的,因此get_data函数无法返回ajax调用的结果。
您应该做的是提供get_data函数的回调,并在回调中处理结果。
function get_data(data, destination, callback)
{
if (lock_get == 0)
{
lock_get = 1;
$.ajax({
type: "POST",
url: destination,
async: true,
data: data,
success: function(data)
{
lock_get = 0;
if (data && callback)
{
callback(data);
}
}
});
}
};
然后这样称呼它:
get_data(data, destination, function(test){
notice(test);
});
问题内容: 随着框架的发展,我决定将其拆分为文件,而不是将其保留在主设计文件中。但是,这样做不会返回任何值。 数据不为空-如果我警告js文件中的值,它们在那里! 功能: 1 .js文件中的功能(在执行之前包含) 因此,这是执行部分: 而且测试是空的…我已经尝试过不同的编写方式,但是我想我误解了js的可能性吗? 问题答案: 您不能这样做:由于调用是异步的,因此get_data函数无法返回ajax调用
问题内容: 我想回到别处外使用的 范围 的 我猜想这是与范围有关,但它似乎不相同的方式工作 C# 不 问题答案: 是的,我之前的答案不起作用,因为我没有对您的代码给予任何关注。:) 问题在于匿名函数是一个回调函数- 即getJSON是一个异步操作,它将在某个不确定的时间点返回,因此即使变量的范围不在该匿名函数(即闭包)之外,它也会没有您认为应该的价值: 要使用由getJSON调用设置的studen
问题内容: 我有一个发送Ajax命令的系统,该命令返回一个带有功能的脚本块。将此数据正确插入DIV后,我希望能够调用此函数来执行所需的操作。 这可能吗? 问题答案: 我想以这种形式正确解释您的问题:“好的,我已经用完所有的Ajax东西了;我只想知道从那时起任何时候都可以调用插入到DIV中的JavaScript函数吗? ,也就是说,我不想在上下文中将其称为“回调返回”。 好的,如果您的意思是这样,那
这是我的代码: 还有php脚本 无论出于什么原因,php都不会从ajax脚本中接收变量。PHP能够向ajax成功函数发送变量,并且Apache日志中没有错误。有人能告诉我我没有做错什么吗?我还担心apache也会出问题。
问题内容: 为什么我返回的是JavaScript函数中的布尔变量,为什么在调用函数中将其检测为字符串,但是如果我返回布尔文字,则调用函数会将其检测为布尔值? 因此,例如: 问题答案: 您无需声明状态变量。 因此,全局一个()被覆盖。 但是,[HTML5规范]将该属性定义为DOMString: 因此,它具有一个设置器(公开的或内部的),用于存储字符串化的值。 要解决此问题,只需使用语句声明您的局部变