我在使用$ .get函数之外的变量时遇到问题,找不到变量并且脚本停止。
我该怎么办?
$.get("../ajax.php", function (data) {
var json = JSON.parse(data);
test = json['jquery']['test'];
});
alert(test)
更新:(这解决了我的问题) 我用$ .get得到了json。并将其传递给我的函数,json将能够在稍后的脚本中获取。
$.get("../ajax.php", function (data) {
function(data) {
loadApp(data);
});
function loadApp(data) {
json = JSON.parse(data);
}
答案 0 :(得分:0)
由于它是异步调用,因此必须在回调函数中进行所有处理。将您的alert(test)
放入回调函数中。
修改强>
$.get("../ajax.php", function (data) {
var json = JSON.parse(data);
test = json['jquery']['test'];
alert(test); // Needs to be processed in this scope
});
这是因为JavaScript处理器逐行读取,检测到ajax-call并发送它,然后跳转到alert
,它将尝试警告不存在的变量。即使你将它宣布为gobally它也不会起作用;因为AJAX-return是异步的,因此将与其他代码并行执行。