Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 27.04.2019, 13:18   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 395
Репутация: -23
По умолчанию Объект XHR через Qjuery

Есть рабочий код
Код:
let url = "test.xlsx",
  oReq = new XMLHttpRequest();

oReq.open("GET", url, true);
oReq.responseType = "arraybuffer";

oReq.onload = (e) => {
  let arraybuffer = oReq.response,
    data = new Uint8Array(arraybuffer),
    arr = [];

  for (let i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);

  let bstr = arr.join(""),
    workbook = XLSX.read(bstr, {
      type: "binary"
    }),
    first_sheet_name = workbook.SheetNames[0],
    worksheet = workbook.Sheets[first_sheet_name],
    obj = XLSX.utils.sheet_to_json(worksheet);
};

oReq.send();
Пытаюсь сделать через qjuery
Код:
function ajaxRequest() {

  $.get('test.xlsx', (response) => {
    let data = new Uint8Array(response),
      arr = [];

    for (let i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);

    let bstr = arr.join(""),
      workbook = XLSX.read(bstr, {
        type: "binary"
      }),
      first_sheet_name = workbook.SheetNames[0],
      worksheet = workbook.Sheets[first_sheet_name],
      obj = XLSX.utils.sheet_to_json(worksheet);
    },"arraybuffer");
};
ajaxRequest();
Но не работает, полагаю проблема с типом данных? Подскажите кто, что думает?
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 27.04.2019, 13:30   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,822
Репутация: 3689

icq: 512-765
skype: alexp.frl
По умолчанию

Проблема в том, что вы до сих пор не научились заниматься отладкой или хотя бы нормально описывать что и как "не работает", читать (и копировать) ошибки в консоли.
Alex11223 вне форума   Ответить с цитированием
Старый 27.04.2019, 13:36   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 395
Репутация: -23
По умолчанию

Нет там ошибок, были бы я написал бы. Проблема с типом данных, так как response содержит текст из "абры-кодабры"
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 27.04.2019, 13:45   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,822
Репутация: 3689

icq: 512-765
skype: alexp.frl
По умолчанию

Так посмотрите что в response, сравните с ожидаемым.
Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Нет там ошибок
так может код просто не выполняется, запрос не завершается успешно и т.п.

Последний раз редактировалось Alex11223; 27.04.2019 в 13:47.
Alex11223 вне форума   Ответить с цитированием
Старый 27.04.2019, 13:46   #5
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 395
Репутация: -23
По умолчанию

Alex11223 вы смеетесь надомной что ли)) конечно я смотрел что в response, иначе откуда я могу знать что там "абра-кадабра", а не то что положено.
__________________
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 27.04.2019 в 13:58.
spoon100500 вне форума   Ответить с цитированием
Старый 27.04.2019, 13:49   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,822
Репутация: 3689

icq: 512-765
skype: alexp.frl
По умолчанию

что положено?
какая именно абра-кадабра?
Alex11223 вне форума   Ответить с цитированием
Старый 27.04.2019, 14:00   #7
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 395
Репутация: -23
По умолчанию

Как должно быть

Как на jquery

Не могу загрузить сюда фото, пишет ошибка.
__________________
Еду медленно, но верно!
spoon100500 вне форума   Ответить с цитированием
Старый 27.04.2019, 14:10   #8
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,822
Репутация: 3689

icq: 512-765
skype: alexp.frl
По умолчанию

Зачем вы передаете 'arraybuffer' вторым параметром $.get?
http://api.jquery.com/jQuery.get/
Alex11223 вне форума   Ответить с цитированием
Старый 27.04.2019, 14:12   #9
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 395
Репутация: -23
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Зачем вы передаете 'arraybuffer' вторым параметром $.get?
Без него та же ерунда. А почему вторым? Первая ссылка, второй выполнение( success), а третий уже тип данных('arraybuffer'). Если коротко то так $.get('test.xlsx', (response) => {…}, "arraybuffer");
__________________
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 27.04.2019 в 14:16.
spoon100500 вне форума   Ответить с цитированием
Старый 27.04.2019, 14:15   #10
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,658
Репутация: 2631
По умолчанию

устанавливайте processData в false или будет конвертация в строку
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при добавлении элемента в дум по Qjuery Illusiony JavaScript, Ajax 2 15.01.2016 19:23
Не могу передать сериализованный объект через сокет - C# ne4kin C# (си шарп) 1 24.08.2015 12:16
Итерация через объект JSON в Javascript maomam Помощь студентам 0 03.11.2012 00:51
Возвращение массива записей через объект CodeNOT PHP 8 14.04.2011 18:30
Соединение с мускулом из Delphi через объект TMySqlClient CyberJohn БД в Delphi 0 05.04.2009 22:18


03:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.