У меня есть файл JSON на страницах GitHub, это около 2 МБ несжатого. Я обращаюсь к этому файлу с помощью метода jQuery $.get()
. Я хотел бы GZIP файл, который сжимает его до примерно 500 КБ, но когда я ставлю сжатый файл на страницах GitHub, $.get()
не работает с ошибкой: Uncaught SyntaxError: Unexpected token
Могу ли я служить gzipped JSON с GitHub Pages?
Я думаю, что проблема заключается в том GitHub страница не устанавливает заголовок Content-Encoding: gzip
в файле JSON, и запрос GET считает, что он имеет дело с простым файлом JSON. Есть ли способ либо:
- Force GitHub страницы, чтобы добавить заголовок
Content-Encoding: gzip
к.json
файла, ИЛИ - Настройка запроса AJAX, так что он знает, что он имеет дело с сжатыми файлами JSON, даже если сервер не сказал, что контент застрял
Вы сделали ужасно большой прыжок, чтобы предположить, что синтаксическая ошибка имеет какое-либо отношение к gzip. Вы подтвердили свой JSON? Какова остальная часть вашего кода - в какой строке вы получаете Uncaught SyntaxError? – Adam
Когда я поставил 2 версии одного и того же файла на страницах GitHub, один gzipped, а другой нет, распакованная версия работала нормально. В любом случае, см. Ответ ниже, оказывается, что моя (глупая) проблема заключалась в том, что файл не заканчивался расширением '.json', как только у меня есть это право расширение, GitHub страницы автоматически gzips его – tws