Próbuję pobrać niestandardowy kanał JSON, który napisałem przy pomocy jQuery, przy użyciu metody getJSON
. Z nieznanego powodu adres URL wydaje się być pozbawiony końca i zastąpiony przez [obiekt% 20Object] powodujący błąd 404.Żądanie JSON dołączone z [object% 20Object] w jQuery
Oto jQuery Używam:
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();
Z dziennika konsoli widzę ciąg URL jest obliczany prawidłowo jako: http://weatherapp.dev/cache_gen.php?location=PL4
jednak druga linia w konsoli to: Failed to load resource: the server responded with a status of 404 (Not Found)
.
Czy ktoś może wskazać mi właściwy kierunek?
UPDATE 19/01/2013 23:15
Cóż, właśnie przekształcane tak, że jest doskonale wpisuje się w dokumentacji za pomocą $.ajax
. Dodałem także zdarzenie awarii i zarejestrowałem wszystkie dane, które zostaną mu przekazane.
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();
Po tym moja konsola daje mi następujące informacje:
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]
mam zapewnione nagłówki dla paszy JSON są aktualne, a pasza jest zdecydowanie obsługujących ważne JSON (skutecznie buforuje 3rd kanał usługi imprezowej, aby obniżyć koszty w interfejsie API).
http://weatherapp.dev/cache_gen.php?location=PL4 nie jest działającym adresem URL.<----- kliknięcie na niego to – Popnoodles
@popnoodles, może to być przekierowanie '/ etc/hosts' :). Ale z pewnością '.dev' brzmi podejrzanie – Alexander
.dev jest domeną programistyczną. Ustawiono to na serwerze wirtualnym Apache w moim systemie lokalnym, który ma wpis w moim '' '/ etc/hosts''', aby upewnić się, że jest poprawnie rozwiązywany. Mogę uzyskać dostęp do tej domeny w mojej przeglądarce, do tej samej domeny, z której ładowany jest plik JS. –