2013-04-04 105 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。用包裝函數檢查第二個代碼,看看結果是什麼。