Tôi đã có một vấn đề với yêu cầu JSONP của tôi .. Các dữ liệu sẽ không được hiển thị, Firebug cho thấy một lỗi "nhãn không hợp lệ" .."nhãn không hợp lệ" khi sử dụng JSONP?
My JavaScript:
$.ajax({
url: link,
dataType: "jsonp",
beforeSend: function(xhr) {
var base64 = btoa(username + ":" + password);
xhr.setRequestHeader("Authorization", "Basic" + base64);
xhr.overrideMimeType("application/json");
},
jsonpCallback: "getResources"
})
function getResources(data) {
alert(data);
alert(JSON.parse(data));
$.each(data.groupStatus, function(i, item) {
$("body").append("<p>ID: " + item.id + "</p>");
});
}
JSON của tôi:
{
"groupStatus": [
{
"id": "Application Layer Configuration-ApplicationLayer",
"time": 1332755316976,
"level": 0,
"warningIds": [],
"errorIds": []
},
{
"id": "Application Layer-ApplicationLayer:nscalealinst2",
"time": 1333431531046,
"level": 0,
"warningIds": [],
"errorIds": []
}
]
}
HTML của tôi:
<html>
<head>
<title>Monitor</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>
Yêu cầu hoạt động tốt, nhưng dù sao các dữ liệu không được hiển thị.
Im tìm kiếm một giải pháp cho ngày .. Ai có thể giúp tôi? Cảm ơn bạn trước!
SOLUTION (Cập nhật: 06.09.12)
Tôi đã giải quyết vấn đề này. Máy chủ (giao diện REST) mà trên đó đã được thực hiện đã không có chức năng gọi lại thực hiện .. Một cách khác để thiết lập các yêu cầu crossdomain KHÔNG sử dụng JSONP là để thiết lập biến jquery sau:
jQuery.support.cors = true;
Điều này là do JSON là * không * một chương trình JS hợp lệ nhưng nó đang cố gắng để được sử dụng như một. Tìm hiểu lý do tại sao JSONP không hoạt động như mong đợi. (btw, 'getRessources' trông giống như lỗi chính tả.) –
yêu cầu hoạt động tốt ..Tôi đã thêm hình ảnh với câu trả lời .. – P4tR
Phản hồi không phải là JSONP, đó là JSON. Các phản hồi JSONP được cho là được bao bọc bên trong một cuộc gọi hàm như 'callback ({" foo ":" bar "})' –