我有
jQuery(document).ready(function()
{
jQuery.get('data/php/traces_pos.csv', function(data) { var routes = jQuery.csv()(data); });
//if I use here
for (i=0;i<=routes.length;i++){}
// javascript says route undefined
}
如何访问作为数组数组的路径
答案 0 :(得分:2)
定义回调之外的路线:
var routes;
jQuery.get('data/php/traces_pos.csv', function(data) { routes = jQuery.csv()(data); });
答案 1 :(得分:1)
您必须在任一函数之外定义路径,如下所示:
var routes;
jQuery(document).ready(function()
{
jQuery.get('data/php/traces_pos.csv', function(data) { routes = jQuery.csv()(data); });
//if I use here
for (i=0;i<=routes.length;i++){}
// routes is no longer undefined
}
答案 2 :(得分:1)
您需要等到路线设定完毕。我正在使用一个函数并传入routes
作为参数:
jQuery(document).ready(function()
{
jQuery.get('data/php/traces_pos.csv', function(data) {
var routes = jQuery.csv()(data);
performRoutes(routes);
});
});
//if I use here
function performRoutes(routes) {
for (i=0;i<=routes.length;i++){
// routes
}
}
答案 3 :(得分:0)
在routes
调用之外移动jQuery.get
声明会使显示到你的for循环中 - 但是要小心你的for循环在调用回调之前运行,因此routes
尚未设置。
你做的任何事情取决于异步获取的结果必须在回调函数中的或在回调函数中调用的代码中的 。在后一种情况下,您可以在函数调用中将路由作为参数传递 - 不需要扩展变量的范围。