Я знаю, что этот вопрос уже задан, но я не мог найти ответ за то, что хочу.Невозможно перебрать объект после ответа ajax
Я пытаюсь перебрать данные, которые я получаю в формате JSON data
после ajax
Ответ. мой код Javascript является:
function ajaxMe(){
$(function(){
$.ajax({
type : 'GET',
url : 's-test.php'
}).done(function(data){
values = [data];
alert(data)
})
});
}
После получения данных в values
переменной успешно я пытаюсь напечатать его с помощью console.log(JSON.stringify(values))
в console
, и это дает результат, как:
["\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.320850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.420850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.520850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.620850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.720850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.820850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-0.920850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-1.320850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-2.320850\" , \"name\" : \"my corporation\"},\r\n {\"lat\" : \"51.508742\", \"ln\" : \"-3.320850\" , \"name\" : \"my corporation\"}\r\n"]
вместо
[{"lat" : "51.508742", "ln" : "-0.320850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.420850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.520850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.620850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.720850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.820850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-0.920850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-1.320850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-2.320850" , "name" : "my corporation"},
{"lat" : "51.508742", "ln" : "-3.320850" , "name" : "my corporation"}]
И не удалось зациклиться на этом object
при использовании forEach
:
values.forEach(function(v, i){
alert(i);
});
Как это работает.? Спасибо.
Вы conveting на '' data' к string'. Попробуйте использовать 'JSON.parse (data)', чтобы вернуть объект 'JSON'. – Akshay
Если это ваши данные, похоже, что сервер не возвращает данные правильно. – epascarello
Другая жертва необъяснимой тенденции JSON.stringify. В настоящее время нас заливают люди, которые преобразуют структуру данных (JSON) в линейную цепочку символов (строка), а затем не понимают, почему они больше не могут видеть свою структуру данных. Я просто не могу объяснить, как все это сделали. –