Мне нужно отправить большой массив байтов в качестве ответа службы REST на запрос ajax. Я создаю список как:Получение неправильного ответа json в ajax-запросе
List<List<Byte>> list = new List<List<byte>>();
здесь, внутренний список будет иметь по 1000 байт каждый. Это код:
int cnt = 0;
List<Byte> innerList = new List<Byte>();
for (int i = 0; i < fileBytes.Length; i++)
{
if (cnt < 1000)
{
Byte b = fileBytes[i];
innerList.Add(b);
cnt++;
if (i == fileBytes.Length - 1)
{
list.Add(innerList);
log.Debug("Remaining:");
log.Debug("List: " + list.Count);
log.Debug("innerList: " + innerList.Count);
}
}
else
{
list.Add(innerList);
log.Debug("Remaining:");
log.Debug("List: " + list.Count);
log.Debug("innerList: " + innerList.Count);
innerList.Clear();
cnt = 0;
}
}
return list;
Сейчас, по словам log
, у меня есть общие кол list
как 503, с первым подсчетом 502, имеющими 1000 каждый (это будет innerList
) в 503'th &, список ребенка содержит 54
байт.
Это мой запрос Ajax:
$.ajax({
type: "GET",
dataType: "jsonp",
contentType: "jsonp",
data: dd,
crossDomain: true,
jsonp: "callback",
url: "http://xxx.xxx.xxx.xx/MyWebService/WebService.svc/MyMethod",
success: function (data) {
console.log(data);
},
complete: function (request, textStatus) { //for additional info
alert(request.responseText);
alert(textStatus);
},
error: function(request, textStatus, errorThrown) {
alert(textStatus);
}
});
Запрос будет завершена успешно, но в firebug
я заметил, что я получаю data
в success
в коллекции 503
jsons каждый из которых имеет ключи 54
(!). Я думаю, что я должен был получить 1000
ключей в первых 502
jsons в data
& только в 503-м я мог получить 54 ключа. Я что-то пропустил?