Tôi đang cố tìm nạp nguồn cấp dữ liệu JSON tùy chỉnh mà tôi đã viết bằng jQuery bằng phương pháp getJSON
. Vì một lý do không xác định, dường như URL bị xóa cache_gen.php?location=PL4
từ cuối và được thay thế bằng [object% 20Object] dẫn đến lỗi 404 xảy ra.Yêu cầu JSON được nối với [đối tượng% 20Object] trong jQuery
Đây là jQuery Tôi đang sử dụng:
var fetchData = function() {
if (Modernizr.localstorage) {
var api_location = "http://weatherapp.dev/cache_gen.php";
var user_location = "PL4";
var date = new Date();
console.log(api_location + '?location=' + user_location);
jQuery.getJSON({
type: "GET",
url: api_location + '?location=' + user_location,
dataType: "json",
success: function(jsonData) {
console.log(jsonData);
}
});
} else {
alert('Your browser is not yet supported. Please upgrade to either Google Chrome or Safari.');
}
}
fetchData();
Từ giao diện điều khiển log Tôi có thể thấy chuỗi URL được tính một cách chính xác như: http://weatherapp.dev/cache_gen.php?location=PL4
Tuy nhiên dòng thứ hai trong giao diện điều khiển là: Failed to load resource: the server responded with a status of 404 (Not Found)
.
Có ai có thể chỉ cho tôi đúng hướng với điều này không?
CẬP NHẬT 19/01/2013 23:15
Vâng, tôi vừa chuyển cho nên đó là phù hợp với các tài liệu một cách hoàn hảo bằng $.ajax
. Tôi cũng đã thêm một sự kiện không thành công và đã ghi lại tất cả dữ liệu được truyền cho nó.
var fetchData = function() {
if (Modernizr.localstorage) {
var api_location = "http://weatherapp.dev/cache_gen.php";
var user_location = "PL4";
var date = new Date();
var url = api_location + '?location=' + user_location;
console.log(url);
jQuery.ajax({
type: "GET",
url: api_location + '?location=' + user_location,
dataType: "json",
success: function(jsonData) {
console.log(jsonData);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('textStatus: ' + textStatus);
console.log('errorThrown: ' + errorThrown);
console.log('jqXHR' + jqXHR);
}
});
} else {
alert('Your browser is not yet supported. Please upgrade to either Google Chrome or Safari.');
}
}
fetchData();
Sau khi giao diện điều khiển của tôi này mang lại cho tôi những thông tin sau:
http://weatherapp.dev/cache_gen.php?location=PL4
download_api.js:44textStatus: parsererror
download_api.js:45errorThrown: SyntaxError: JSON Parse error: Unable to parse JSON string
download_api.js:46jqXHR[object Object]
tôi đã đảm bảo các tiêu đề cho thức ăn JSON là hiện nay, và các thức ăn chắc chắn được phục vụ JSON hợp lệ (nó có hiệu quả lưu trữ một 3rd nguồn cấp dữ liệu dịch vụ bên để tiết kiệm chi phí trên API).
http://weatherapp.dev/cache_gen.php?location=PL4 không phải là url hoạt động.<----- nhấp vào nó – Popnoodles
@popnoodles, nó có thể là chuyển hướng '/ etc/hosts' :). Tuy nhiên, chắc chắn âm thanh '.dev' fishy – Alexander
.dev là một miền phát triển. Nó đã thiết lập này có một máy chủ ảo Apache trên hệ thống cục bộ của tôi, có một mục trong '' '/ etc/hosts''' của tôi để đảm bảo rằng nó được giải quyết đúng cách. Tôi có thể truy cập miền này trong trình duyệt của mình, miền giống với tên tệp JS đang được tải từ đó. –