2011-08-25 44 views
1

我在jQuery的初學者,我試圖用的getJSON,但有一個URL使用它時,我總是有一個錯誤,而它的工作,當我用用它文本文件。 你能告訴我這個URL有什麼問題嗎?的jQuery的getJSON - 與URL錯誤,請幫忙

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$.getJSON("http://localhost/edoc?appname=eDRITS&prgname=JSON2",function(item){ 
    alert("success"); 
    $.each(item.users, function(i,user){ 
     content = '<p>' + user.name + ', ' + user.fname + '</p>'; 
     $(content).appendTo("#list"); 
    }); 
}) 
.success(function() { alert("second success"); }) 
.error(function() { alert("error"); }); 
}); 
</script> 

在代碼的URL是調用返回JSON數據的程序:

{ 「用戶」:[{ 「usrid」: 「GABR90」, 「名稱」:「ABRAMOVA 「其中 」fname「:」 加林娜「}]}

如果我通過它包含了JSON數據的文本文件替換URL,它的工作原理:

$.getJSON("file.txt",function(item){...} 

我得到的URL的錯誤只是我的「.error()函數」的顯示,我沒有任何具體的錯誤信息,我不知道如何使用調試器來查看瀏覽器的HTTP Get是Firefox)。

因此,如何我可以用它的URL,好嗎?

感謝您的幫助

回答

2

是不是訪問使用文件的HTML頁面:///,然後有一個頁面調用http://localhost?如果是這種情況,那麼你正在達到「同源」限制。

您的瀏覽器將頁面視爲來自文件:// url,並且當該頁面嘗試連接到http://localhost時,這在技術上是另一個域,並且出於安全原因,瀏覽器可能(並且通常會)阻止該通信。當你指向一個文本文件時,它會看到來自file://的html和文件,並允許通信。

你應該在你的Web服務器加載HTML頁面,這樣您就可以訪問使用http://localhost/mypage.html或類似的URL頁面。

+0

嗨西蒙娜,那確實我使用file://訪問HTML文件。我如何將頁面加載到瀏覽器? – Michael

+0

我使用IIS直接與HTTP調用的頁面://localhost/TEST/test.html – Michael

+0

但它仍然不能與URL工作。任何線索?感謝 – Michael