Sto tentando di recuperare un feed JSON personalizzato che ho scritto con jQuery utilizzando il metodo getJSON
. Per un motivo sconosciuto, l'URL sembra avere cache_gen.php?location=PL4
rimosso dalla fine e sostituito con [oggetto% 20Object] con conseguente errore 404.JSON Richiesta aggiunta con [oggetto% 20Object] in jQuery
Ecco il jQuery che sto utilizzando:
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();
Dal log della console posso vedere la stringa URL viene calcolata correttamente come: http://weatherapp.dev/cache_gen.php?location=PL4
Tuttavia la seconda linea nella console è: Failed to load resource: the server responded with a status of 404 (Not Found)
.
Qualcuno può indicarmi la giusta direzione?
AGGIORNAMENTO 19/01/2013 23:15
Beh, ho appena convertito in modo che sia adatta perfettamente i documenti utilizzando $.ajax
. Ho anche aggiunto un evento di errore e registrato tutti i dati che gli vengono passati.
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();
Dopo questa mia console mi dà le seguenti informazioni:
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]
ho assicurato le intestazioni per il feed JSON sono in corso, e l'alimentazione è sicuramente scontando JSON valido (memorizza nella cache in modo efficace un 3 ° feed servizio party per risparmiare costi sull'API).
http://weatherapp.dev/cache_gen.php?location=PL4 non è un URL di lavoro.<----- cliccalo – Popnoodles
@popnoodles, potrebbe essere un reindirizzamento '/ etc/hosts :). Ma certamente '.dev' sembra fishy – Alexander
.dev è un dominio di sviluppo. È stato impostato un host virtuale Apache sul mio sistema locale, che ha una voce nel mio '' '/ etc/hosts''' per assicurarmi che sia risolto correttamente. Posso accedere a questo dominio nel mio browser, è lo stesso dominio di dove viene caricato il file JS. –