我有该代码:
var s, d, p = '';
$.ajax(
{
type: "POST",
url: ajaxurl,
data: {action: "get_info"},
success: function(r)
{
// r contain that json data
// {"s":"long-string","d":"string","p":"string"}
// That served from the server with that header
//
// header('Cache-Control: no-cache, must-revalidate');
// header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
// header('Content-type: application/json');
d = r.d;
s = r.s;
p = r.p;
}
}
);
// And here console return s as undefined
console.log(s);
有什么问题的想法吗?
该$.ajax()
调用只是启动ajax操作。然后,代码进入您的console.log
语句,但ajax调用尚未返回。因此,s
尚未设定的值。
稍后,ajax调用将返回您的结果,并在那时触发您的回调。因此,如果要引用返回的值,则应s
在回调内部引用变量。
更好的方法通常是这样的:
$.ajax(
{
type: "POST",
url: ajaxurl,
data: {action: "get_info"},
success: function(r)
{
s = r.s;
// Do something with s here...
}
}
);
如果确实需要,则可以s
在回调之外进行引用,但如果需要,则需要放置某种机制以确保s
已初始化(即,您的ajax调用已返回)。这引入了其他复杂性,例如同步和错误处理,并且可能使程序流程变得不可靠。
问题内容: def size_of_dir(dirname): print(“Size of directory: “) print(os.path.getsize(dirname)) 是有问题的代码。dirname是一个目录,其中包含 130个 文件,每个文件约 1kb 。当我调用此函数时,它返回 4624 ,这 不是 目录的大小…为什么? 问题答案: 此值(4624B)代表的大小 文件 是 描
我正在等待(从USSD请求中)检索一个值,以便返回它(getUSSD):
你好,我正在复习Java练习。我有一个非常简单的程序:有两个int值,以及一个布尔变量。 i) 如果其中一个值为负值,另一个值为正值,则程序将返回true。 ii)但是,如果布尔变量为true,则程序只能在两个int值均为负值时返回true。 我已经用一堆int值对此进行了测试,但是一旦我给这个方法(1,-1)的值,以及布尔值设置为true,程序似乎就会崩溃。任何帮助或解释都将不胜感激。
问题内容: 我正在尝试为表中的每个用户获取一个SUM(),但是MySQL返回错误的值。 这就是它的外观(http://sqlfiddle.com/#!2/7b988/4/0) 但这就是它的外观(http://sqlfiddle.com/#!2/7b988/2/0) 这是我要运行的查询: 我究竟做错了什么? 问题答案: 试试这个查询: SQLFiddle-> http://sqlfiddle.com
我正在做一个项目,我试图让lxml从不同网页上的不同表格中提取股票数据。当我运行程序试图打印我试图提取的值时,我得到了空括号 以下是我称之为的方式: 以及: 我已经从XPath中删除了tbody,就像一些类似的问题所建议的那样。任何帮助或建议将不胜感激,谢谢!
问题内容: 我正在使用带有Java GUI的计算器。该项目已完成,但是三角函数无法正常运行。这是cos函数的方法: 其中“显示”是文本区域。问题在于函数返回的值不正确。例如,当我输入90并单击cos按钮时,将返回数字6.123233995736766E-17。sin和tan按钮也以类似的方式不准确(如有必要,我可以进一步解释)。代码哪里出了问题,我该如何解决 问题答案: 传回的值不正确。当您输入9