0

我目前正在使用 jQuery JSONP 加载 csv 文件作为图形数据源。这是我的代码:

var query= "http://abc.123.com/somefile.csv"
$.ajax({
     url:query,
     dataType:'jsonp'
}).done(function(msg){
     console.log("done");
     for (vari=0; i<5; i++){
          drwaChart(i);
     }
});

不知何故,控制台没有显示上面代码的“完成”,但会显示“完成”:

var query= "http://abc.123.com/somefile.csv"
$.ajax({
    url:query,
    dataType:'jsonp'
}).done(console.log("done"));

任何人都可以提供有关此问题的一些信息吗?因为我什至不确定此时数据是否已加载...

谢谢!

(修正了“”错字..我在这里复制代码时打错了..)

4

2 回答 2

1

问题是您以 a 开头数据类型并以导致被解释为 a 的a'关闭它。简单的错误,容易修复:)"console.log()string

正确代码:

var query= "http://abc.123.com/somefile.csv"
$.ajax({
     url:query,
     dataType:'jsonp'
}).done(function(data){ 
     console.log("done");
     for (vari=0; i<5; i++){
          drwaChart(i);
     }
});
于 2013-04-04T15:58:17.953 回答
0

好吧,在你说的第一个代码中

.done(function(msg){console.log("done");....}

console.log 命令位于包装函数内,只有在成功接收到结果时才会执行,否则它不会运行 console.log,并且由于您错误地使用了“json”而不是“json”,(使用单引号)你的调用没有成功(你可能在服务器端将结果发送回 jquery 时也有一些错误)。因此,你的 .done 没有被执行。

但是,在第二个代码中,它不会检查成功条件,因为您可能没有包装函数。因此,它运行 console.log。用包装函数检查第二个代码,看看结果如何。

于 2013-04-04T16:27:02.967 回答