После XMLHttpRequest функция выполняет .records
над .records
JSON, однако она работает только в Chrome или Internet Explorer, а не в обоих. Проблема заключается в .length
.
В хроме это работает, когда я это делаю:
request1.response.records.length
1438
В Internet Explorer я могу получить доступ ко всему телу JSON, а не к значениям .records
и это не работает в chrome.
request1.response.length
30158
Вопрос JSON в вопросе начинается с:
"{
"total":null,
"records":[{
"id":"5465464865",
"parentId": "545465",...
Похоже, что Internet Explorer не интерпретирует ваш ответ как объект Javascript, а Chrome может вывести его и рассматривать ответ как JS. Я не уверен, что это ваша проблема, но попробуйте указать тип ответа, который вы ожидаете получить, например, ниже:
var xhr = new XMLHttpRequest();
xhr.responseType = 'json'; //check if you have this line, add it if you don't
eval('var res = '+request1.response+';')
и работать с переменной evaled res
вместо request1.response
, но я знаю, что это выглядит странно и этот эвал может быть злом. В любом случае, просто попробуйте, возможно, это решит вашу проблему в краткосрочной перспективе.
JSON.parse()
в ответе.