2014-10-20 60 views
0

喜當我從服務器加載JSON文件我有一個小問題,我使用的代碼是:的jQuery加載JSON錯誤

function dataLoad(){ 
    //console.log('loading json...'); 
    var pathUrl = "public_html/wp-content/themes/turisti/include/main.json"; 
    var places = []; 
    $.ajax({  
     url: pathUrl, 
     dataType: 'jsonp', 
     timeout: 5000, 
     success: function(data, status) { 
      console.log("success"); 
     }, 
     error: function() { 
     console.log("some errors"); 
     } 
    }); 
} 

我調用這個函數上的DOM ready事件,不幸的是我可以加載文件,路徑是正確的,我通過SSH終端驗證,但函數調用任何錯誤回調,有人有一些想法來解決這個問題?

+0

是一個WordPress項目 – ghost 2014-10-20 10:22:01

+0

可能重複[jQuery的阿賈克斯(JSONP)忽略超時而不會觸發錯誤事件](http://stackoverflow.com/questions/1002367/jquery-ajax-jsonp -ignores-a-timeout-and-doesnt-fire-the-error-event) – Sanosay 2014-10-20 10:23:31

+0

它可能是重複的,但以防萬一。您是否嘗試使用正常的HTTP請求訪問資源?我認爲你需要wp-content /而不是public_html/wp-content/ – Sanosay 2014-10-20 10:24:58

回答

0
{"menu": { 
    "id": "file", 
    "value": "File", 
    "popup": { 
    "menuitem": [ 
     {"value": "New", "onclick": "CreateNewDoc()"}, 
     {"value": "Open", "onclick": "OpenDoc()"}, 
     {"value": "Close", "onclick": "CloseDoc()"} 
    ] 
    } 
}} 

我使用上面的json文件作爲樣本,你應該能夠讀取下面的代碼json文件;

function getJsonData() { 
      console.log("getJsonData is running..."); 
      $.ajax({ 
       url: "/_assets/js/json1.json", 
       dataType: "text", 
       success: function (data) { 

        var json = $.parseJSON(data); 
        //we have json object here 
        //then you can reach like below 
        console.log("object : " + json.menu); 
        console.log("objects' item : " + json.menu.id); 
       } 
      }); 
     }