Вот мои данные Json, полученные от Server:
[
{"Name":"A"},
{"Name":"B"},
{"Name":"C"},
{"Name":null}
]
[
{"Name":null},
{"Name":"D"},
{"Name":null}
]
[
{...},
{...}
]
Как его проанализировать, используя JQUERY в атрибуте успеха AJAX?
Вот мой код Ajax:
$.ajax({
url: '#.php',
type: 'post',
async: false,
data: {},
dataType: 'json',
success: function(data){
var str = JSON.stringify(data);
var obj = JSON.parse(str);
for(var i=0; i< data.length;i++)
{
alert(data[i].Name);
}
},
complete: function(xhr,status){
alert(status);
},
error: function(xhr){
alert("An error occured: " + xhr.status + " " + xhr.statusText );
alert("An error occured. Please Try Again");
}
})
Этот код не работает и дает полную парсерную ошибку. Я хочу отобразить все полученные имена. Пожалуйста помоги.
ваши данные, полученные с сервера, недействительны JSON, если бы это было так, это было бы примерно так:
[
[{
"Name": "A"
}, {
"Name": "B"
}, {
"Name": "C"
}, {
"Name": null
}],
[{
"Name": null
}, {
"Name": "D"
}, {
"Name": null
}]
]
это было бы еще проще разобрать:
[{
"Name": "A"
}, {
"Name": "B"
}, {
"Name": "C"
}, {
"Name": null
}, {
"Name": null
}, {
"Name": "D"
}, {
"Name": null
}]
Данные, возвращаемые вашим сервером, не соответствуют синтаксису JSON. Чтобы иметь надлежащую структуру JSON, должен быть только один родительский объект, а не несколько массивов.
Если вы можете изменить выход сервера, рассмотрите следующие варианты:
Создание родительского массива:
[ your_arrays ]
затем доступ к data[0]
для извлечения ваших массивов в вашей функции success
.
Создание родительского объекта:
{myArrays : your_arrays}
затем доступ к data.myArrays
в вашей функции success
.