jQuery:jQuery AJAX "200 OK", nhưng không có phản ứng dữ liệu
$.ajax({
url : url,
type : 'GET',
dataType: 'json',
data: {
'FN' : 'GetPages',
'PIN' : '7659'
},
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(data) {
alert('succsess');
console.log('data', data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('error');
console.log(xhr.status);
console.log(thrownError);
}
});
Firebug Firefox Mạng
Firebug Error http://s14.directupload.net/images/121123/8ar5vljg.png
gì xảy ra
AJAX "error:" sự kiện được t riggered và console.log tôi kết quả đầu ra là:
xhr.status -> 0
thrownError -> (empty String)
là bình thường này? Khi tôi nhập URL trong trình duyệt, tôi nhận được tệp tải xuống có nội dung JSON trong đó, đây không phải là vấn đề đúng không?
Trên url trình duyệt, phản hồi là: [{"pg": 0, "descr": "PC1"}, {"pg": 1, "descr": "PC2"}, {" pg ": 2," descr ":" PC3 "}, {" pg ": 3," descr ":" HG1 "}, {" pg ": 4," descr ":" HG2 "}, {" pg " : 5, "descr": "HG3"}, {"pg": 6, "descr": "HG4"}, {"pg": 7, "descr": "DW1"}, {"pg": 8 , "descr": "DW2"}, {"pg": 9, "descr": "CMN"}] – user1841515
Ngoài ra, hiểu biết của tôi là ** jsonp ** sẽ không hoạt động vì tôi không được phép thay đổi bất cứ điều gì máy chủ và phản hồi của nó sẽ ở định dạng json và không phải định dạng jsonp – user1841515
jsonp sẽ không ảnh hưởng đến máy chủ. Nhưng nó có thể giúp đỡ để có được xung quanh vấn đề CORS. Nó có thể là lựa chọn duy nhất của bạn mà không sửa đổi máy chủ – JonWells