我目前正在使用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"));
有人能提供有关此问题的一些信息吗?因为我现在还不确定数据是否已加载......
谢谢!
(修正了''拼写错误......我在这里复制代码时输错了...)
答案 0 :(得分:1)
问题是,您使用'
启动数据类型,并使用"
将其关闭,这会导致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);
}
});
答案 1 :(得分:0)
好吧,在你说的第一段代码中
.done(function(msg){console.log("done");....}
console.log命令位于包装函数内部,只有在成功接收到结果时才会执行,否则它不会运行console.log,因为你错误地使用了'json'而不是'json',(使用单引号)你的调用没有成功(在将结果发送回jquery时,你可能在服务器端也有一些错误。)因此,你的.done不会被执行。
但是,在第二个代码中它没有检查成功条件,因为可能你没有包装函数。所以,它运行console.log。使用包装函数检查第二个代码,看看结果是什么。