2013-04-05 59 views
0

我正在嘗試將.json數據加載到我的網絡應用程序中,它永遠無法實現成功。加載json數據時出錯

它總是返回錯誤函數。

這裏是我的.js文件:

$(document).ready(function() { 
var output = $('#stage'); 

$.ajax({ 
    url: 'http://www.haverhill-ps.org/ios/app/data/calendar-json.json', 
    dataType: 'json', 
    timeout: 5000, 
    success: function (data) { 
     $.each(data, function (i, item) { 
      var eventInfo = '<h1>' + item.month + '</h1>' + '<p>' + item.date + '<br>' + item.time + '</p>'; 

      output.append(eventInfo); 
     }); 
    }, 
    error: function() { 
     output.text('There was an error loading the data.'); 
    } 
}); 
}); 

這裏是json數據:

{ 
    "month": "June", //November 
    "date": "10", //10 
    "time": "5PM", //5PM 
}, { 
    "month": "July", //November 
    "date": "4", //10 
    "time": "1PM", //5PM 
} 

然後,我的HTML中我有一個div設置:

<div id="stage">Run here...</div> 
+0

好,你照顧錯誤處理。現在你應該得到錯誤信息。你在www.haverhill-ps.org上工作,還是第三方網站? – 2013-04-05 13:14:30

+0

您最有可能遇到跨域問題,如果沒有解決方法,您無法從其他域請求數據。 – MMM 2013-04-05 13:19:55

回答

1

返回的數據是無效的json。

你缺少[]圍繞結果和評論是無效的JSON。 ,在每個對象的最後一個元素的末尾也是無效的。你可以在例如http://jsonlint.com/

一個有效的JSON看起來是這樣的:

[{ 
    "month": "June", 
    "date": "10", 
    "time": "5PM" 
}, { 
    "month": "July", 
    "date": "4", 
    "time": "1PM" 
}] 
+0

非常感謝。我是使用json的新手,所以非常感謝。令人驚訝的是一個簡單的問題如何導致這種頭痛。 :) – jons 2013-04-05 13:52:23

+0

@jons:沒問題。驗證您的輸出或代碼應始終是第一步。對於js,您可以使用_jslint_或_jshint_。和我已經說過的json http://jsonlint.com/。 – 2013-04-05 13:58:09

0

可能你想看看有什麼錯誤,這樣做

error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status); 
     alert(thrownError); 
     }