Próbuję uzyskać JSON, hostowane na serwerze lokalnym tutaj, ale z jakiegoś powodu to nie działa. Jeśli uderzę w mój adres URL w przeglądarce, zwróci Json poprawnie i jeśli użyję innego adresu URL, otrzymam dane.Jak debugować błąd zapytania ajax?
Moja oryginalna metoda getJSON:
getJSON:
$.getJSON(url,
function(data) {
console.log('got something');
alert(data);
});
Teraz chcę zobaczyć, co dokładnie się stało. Przepisałem go jako żądanie Ajax, a na moim błędzie zwrotnym jqxhr daje mi wiele rzeczy, których nie rozumiem. Czy mogę uzyskać więcej informacji na temat tego błędu?
TextStatus
wartość "error"
errorThrown
jest null
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
console.log('got something');
alert(data);
},
error: function(jqxhr,textStatus,errorThrown)
{
console.log(jqxhr);
console.log(textStatus);
console.log(errorThrown);
for (key in jqxhr)
alert(key + ":" + jqxhr[key])
for (key2 in textStatus)
alert(key + ":" + textStatus[key])
for (key3 in errorThrown)
alert(key + ":" + errorThrown[key])
//<--- All those logs/alerts, don't say anything helpful, how can I understand what error is going on? ---->
}});
Wreszcie json mam wrócić JEST
[{"message": "login failed"}]
I nie można używać Firebug, chrom konsola lub inne narzędzia deweloperskie, ponieważ jest to aplikacja mobilna opracowana przy użyciu Phonegapa!
Czy adres URL w tej samej domenie, poddomenie i protokole jest zgodny z bieżącą stroną? – devnull69
użyj narzędzia dewelopera firebuga lub chrome i klikając w sieci, a Xhr możesz zobaczyć odpowiedź z adresu URL: –
Czy sprawdziłeś na karcie Sieć narzędzia Firebug/Fiddler/Chrome narzędzia, aby zobaczyć, jaki był kod odpowiedzi i tekst? –