2014-01-13 79 views
2

我有一些數據的JSON文件追加到HTML文檔中的DIV一個按鈕被點擊時:的getJSON請求失敗

HTML:

<div class="json"></div> 
<button id="one"></button> 

這裏的javascript:

function one(){ 
    $("#one").click(function(){ 
     $.getJSON('one.json',function(data){ 
      alert("success");  
     }) 
     .done(function() { alert('getJSON request succeeded!'); }) 
     .fail(function() { alert('getJSON request failed! '); }) 
     .always(function() { alert('getJSON request ended!'); }); 
    }); 
} 

$(document).ready(function() { 
    one(); 
}); 

one.json文件位於js文件的同一目錄中。當我點擊按鈕時,警報是 「getJSON請求失敗」...錯誤在哪裏?

+1

該html文件是否也在同一目錄中?試着做一個像「/folder/one.json」這樣的根相關調用,而不是 – RononDex

+0

什麼是html&js文件的路徑?他們在不同的目錄 –

+0

這是不可能的答案,可以是任何東西!錯誤的文件名,錯誤的路徑,沒有運行網絡服務器,其他東西完全 – adeneo

回答

1

看看下面的代碼工作: -

$.getJSON('/YourDirectory/one.json',function(data){ 
      alert("success");  
     }) 
+0

非常感謝你......此路徑正在工作...... :) –

+0

這就是好...! – Anup

0

$.getJSON()採用URL作爲從哪裏得到的JSON,而不是文件路徑的參數。

$.getJSON('/one.json', functrion (data) { ... });

$.getJSON('http://localhost:1234/one.json', functrion (data) { ... });

採取的URL one.json文件,並粘貼到瀏覽器的地址欄中。如果瀏覽器返回JSON內容,那麼您知道可以在$ .getJSON()調用中使用該URL。

0

如果HTML是從網址

localhost:80/project/test.html 

開那麼JSON路徑將是

localhost:80/project/one.json 

因此,請在同一個文件夾確保HTML和JSON。

0

好,要麼刪除的getJSON方法中的成功回調,並使用.done.fail ..或使用成功回調僅

function one(){ 
    $("#one").click(function(){ 
    $.getJSON('path/to/one.json') 
    .done(function() { alert('getJSON request succeeded!'); }) 
    .fail(function() { alert('getJSON request failed! '); }) 
    .always(function() { alert('getJSON request ended!'); }); 
    }); 
} 

$(document).ready(function() { 
    one(); 
}); 
0

您的Ajax請求會看在你當前網頁的網址,因此,如果您在:

  • mysite.com/index.html,它的外觀上mysite.com/one.json

  • mysite.com/category/index.html,它的外觀上 mysite.com/category/one.json

如果你有一個現代的瀏覽器,可以打開開發者控制檯,看看有什麼是取得確切的請求。