Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2019, 12:18   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию Объект 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, 12:30   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Проблема в том, что вы до сих пор не научились заниматься отладкой или хотя бы нормально описывать что и как "не работает", читать (и копировать) ошибки в консоли.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.04.2019, 12:36   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

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

Так посмотрите что в response, сравните с ожидаемым.
Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Нет там ошибок
так может код просто не выполняется, запрос не завершается успешно и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

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

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

Последний раз редактировалось spoon100500; 27.04.2019 в 12:58.
spoon100500 вне форума Ответить с цитированием
Старый 27.04.2019, 12:49   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

что положено?
какая именно абра-кадабра?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.04.2019, 13:00   #7
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

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

Как на jquery

Не могу загрузить сюда фото, пишет ошибка.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 27.04.2019, 13:10   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вы передаете 'arraybuffer' вторым параметром $.get?
http://api.jquery.com/jQuery.get/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.04.2019, 13:12   #9
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

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

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

устанавливайте processData в false или будет конвертация в строку
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при добавлении элемента в дум по Qjuery Illusiony JavaScript, Ajax 2 15.01.2016 18:23
Не могу передать сериализованный объект через сокет - C# ne4kin C# (си шарп) 1 24.08.2015 11: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