我的jQuery.ajax()函數不工作.. 我想顯示來自服務器的JSON數據。請求成功後,我通過Firebug找到了。當我刪除功能(數據){在「成功」 - 標記警報觸發,功能停留時,它不.. 順便說一句:請求總是成功,當用戶名和密碼錯誤,如何那可以嗎?但是,當我刪除xhr.setRequestHeader()方法螢火蟲顯示呼叫用,因爲基本身份驗證服務器需要的「山寨版」結束了..這個jQuery AJAX請求有什麼問題?
任何建議,以解決這個問題?提前致謝!
我的JavaScript 「gadget.js」
$.ajax({
url: "http://localhost:8387/nscalemc/rest/mon/resourcestatus.json",
type: "GET",
dataType: "json",
contentType: "application/json",
beforeSend: function(xhr) {
var base64 = btoa('admin' + ":" + 'admin');
xhr.setRequestHeader("Authorization", "Basic" + base64);
},
success: function(data) {
$(data.groupStatus).each(function() {
$("body").append("<p>ID: " + this.id + "</p>");
});
alert("success!");
}
}).done(function(data) {
alert("done!");
$(data.groupStatus).each(function() {
$("body").append("<p>ID: " + this.id + "</p>");
});
}).fail(function(jqXHR, textStatus) {
alert("fail - " + textStatus);
});
這裏是我的JSON
{
"groupStatus": [
{
"id": "Application Layer Configuration-ApplicationLayer",
"time": 1332755316976,
"level": 0,
"warningIds": [],
"errorIds": []
},
{
"id": "Application Layer-ApplicationLayer:nscalealinst2",
"time": 1333431531046,
"level": 0,
"warningIds": [],
"errorIds": []
}
]
}
最後我的HTML類 「gadget.html」:
<html>
<head>
<title>My Gadget</title>
<link href="css/gadget.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
</head>
<body>
<div id="content"></div>
<script type="text/javascript" src="js/gadget.js"></script>
</body>
爲什麼我的身份證不是顯示?
順便說一句:什麼.done(函數(){})和「成功之間的區別:(函數(){})
是同一個域上的JSON文件嗎?如果不是,查找跨域Ajax。 (JSONP) – RvdK 2012-04-04 08:47:54
你碰巧知道'success'和'done'做同樣的事情嗎?在代碼中是多餘的? – Joseph 2012-04-04 08:50:07
因爲你的腳本工作正常(請參閱:http://jsfiddle.net/vbeSm/),因爲我認爲它是你的JSON調用 - 它是作爲@PoweRoy問的跨域嗎? – 2012-04-04 08:50:18