2013-04-04 102 views
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")); 

任何人都可以提供一些关于这个问题的信息?因为我甚至不知道数据是否已经加载或在这一点上...

谢谢!

(固定的“”错字..我拼写错误,当我在这里复制我的代码..)

+1

您是否注意到代码中的颜色,这是一个错误!错误的引号! – adeneo 2013-04-04 15:52:40

+1

第二段代码不会做你认为它的作用。 – Dogbert 2013-04-04 15:53:15

+1

在控制台中是否有任何错误? – Dogbert 2013-04-04 15:55:03

回答

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); 
    } 
}); 
+0

你...这是我在移动我的代码时在这里犯的一个错误.. Sry关于.. – user1948847 2013-04-04 16:44:46

+0

@ user1948847那么,什么阻止你关闭此线程?还有问题吗? – 2013-04-04 16:45:37

0

那么,在第一代码时哟你说了

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

的执行console.log命令是一个包装函数中,如果结果是成功接收时才执行,否则它不会运行的console.log因为你错误地使用“JSON”,而不是'json',(使用单引号)你的调用不成功(你可能在服务器端发送结果返回给jquery也有一些错误)。因此,你的.done不会被执行。

但是,在第二个代码中,它不检查成功条件,因为可能你没有包装函数。所以,它运行console.log。用包装函数检查第二个代码,看看结果是什么。