如何创建全局变量的查询和可用的javascript
How to create global variable in query and usable with javascript
$(document).ready(function ()
{
$.ajax(
{
url: "Bibliotheek.xml",
dataType: "xml",
success: function (data)
{
var song = $(data).find('key').filter(function ()
{
return $(this).text().indexOf('Name') != -1;
}).each(function()
{
window['globalVar']= $(this).next('string').text();
console.log(globalVar);
});
}
});
});
我想在每个循环之外使用globalVar。但是一旦我把de console.log放在函数外面。它告诉我的globalVar未定义。是否也可以在javascript代码中使用该变量?
这可能发生,因为你在一个空列表上循环(即它永远不会进入.each
回调)。这个东西是错误的:.find('key')
。它搜索一个key
标签(这不是HTML,除非你实际上不处理HTML?)。也许您正在寻找.find('.key')
?
EDIT:似乎您想将console.log
置于ajax调用之外。如果您这样做了,那么您就不走运了,因为您正在尝试记录一个还不存在的变量。这是因为ajax中的代表异步,即这段代码将稍后运行。
EDIT 2:欢迎学习异步编程!似乎您试图强制ajax是同步的,这是错误的,而且是纯粹的邪恶。不要这样做。你的代码应该像这样:
var my_fn = function(clb) { // <-- this is callback to be called later
var els = [];
$.ajax({
url: "Bibliotheek.xml",
dataType: "xml",
success: function (data) {
var song = $(data).find('key').filter(function () {
return $(this).text().indexOf('Name') != -1;
}).each(function() {
var el = $(this).next('string').text();
els.push(el);
});
clb(els); // <-- call it now
}
});
};
$(document).ready(function() {
my_fn(function(els) {
console.log(els);
// do coding here
});
});
在函数之外定义globalVar
…
var globalVar;
var song = {...
console.log(globalVar);//will work here
};
console.log(globalVar);//and, will work here
相关文章:
- 解析云代码geoPoint查询Javascript语法
- 在javascript中查询javascript对象
- 利用内置的 XPath 引擎来查询 javaScript 对象
- 查询 JavaScript 对象分组依据
- 以正确的顺序触发查询/JavaScript函数
- MySQL循环中查询Javascript不起作用
- 更新Windows Azure移动服务中的查询javascript/html
- 按降序排列mongdb查询-Javascript、mongodb和Kinvey
- 查询javascript对象
- 什么是new function(settings){..}(jQuery.查询|| {});javascript中的Me
- 解析查询Javascript - "contains"关于关系数据
- 查询JavaScript中的复选框
- MongoDb快速查询Javascript
- 在mongodb中查询javascript date对象
- 查询JavaScript Object与JSOn Object的区别
- 函数的返回值在Sqllite executeSql查询javascript中显示为未定义
- IE媒体查询javascript 'response'并# 39;t工作
- 可视化调色板查询javascript circosjs
- 正在查询JavaScript父子对象
- 查询Javascript对象(图)