2015-08-08 47 views
-2

當我嘗試從我的ajax檢索到的本地json文件中分配一個值時,出現未定義的錯誤。我可以提醒和console.log數據就好,但我試圖給變量賦值時出錯。 typeof返回「未定義」。AJAX JSON請求顯示爲未定義typeof

JSON:

[ 
    { 
     "name": "fhtyhtfht", 
     "website": "fthfthfth", 
     "description": "trgrgfthyg", 
     "type": "marker", 
     "coordinates": [ 
      54.637465, 
      -8.440456 
     ] 
    }, 
... 
] 

JSON是使用Ajax檢索並返回的變量是對象的類型。例如,我可以通過data.name檢索字符串值,但協調未定義。

console.log(typeof data.coordinates); // undefined 
console.log(typeof data.coordinates[0]); // Uncaught TypeError: Cannot read property '0' of undefined 

編輯:這個問題令人沮喪的是,因爲我具有相同的名稱作爲方法屬性定義的變量引起的,在這兩個變量存在不約而同許多屬性,使問題只生起,昔時一個屬性。

+2

'typeof運算config',如果你想獲得財產'typof'然後用'配置[ '的typeof']' –

+0

^HTTPS: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof –

+0

我的確在使用typeof不正確。我確實最終發現了該問題的更深層次,請參閱編輯。 – DominicM

回答

0

用途:

console.log(typeof config == "undefined") 

甚至

try { 
    console.log(config) 
} catch(e){ 
    console.log(e) 
} 
+0

我從typeof config ==「undefined」中得到「true」,如果我沒有弄錯,這意味着它實際上是未定義的。 – DominicM

+0

的確如此。您需要首先解析JSON對象,然後再附加屬性。 – Theodore

+0

dataType設置爲json,爲什麼我需要解析它? – DominicM