Demuz
Гугл мапс только так и работают. Сейчас покажу.
Demuz
Гугл не поддерживает jsonp
Ой, извиняюсь. Я с directions не работал. Только с maps. Там jsonp юзается. А у вас явно проблема в Acces Control Allow Origin. Это означает что вы пытаетесь запустить скрипт, который НЕ находится на вашем хосте. По идее так не должно быть.
Oleksandr
Oleksandr
попробуй их включить
Oleksandr
smile
данные которые тебе приходят от гугла - валидные?
Oleksandr
Запрос корректный
Oleksandr
На выходе
Oleksandr
Я имею ввиду во влкдаке "Сеть" Хрома
Demuz
это же кросдоменные запросы вроде
Ну вот и ответили сами. Он со своего хоста делает запрос на удаленный скрипт. Вот и система ругается: запрещено запускать скрипты, не пренадлежащие данному хосту.
Demuz
А там текст только козвращается, да ? Странно что вобще эта ошибка выходит.
smile
на крайняк, туши ошибку в катч и забей просто
Demuz
Но моих файлов есть cors заголовок
Если вам выдается явня ошибка такого рода, то она есть. Что-то не срабатывает всякий корс шморс.
Oleksandr
А там текст только козвращается, да ? Странно что вобще эта ошибка выходит.
От гугла большой обьект возвращается, с маршрутом. И на вид там все правильно
Demuz
Дайте ссылку на этот их апи. я почитаю.
Oleksandr
на крайняк, туши ошибку в катч и забей просто
Так я же ответ не могу получить
Oleksandr
https://developers.google.com/maps/documentation/directions/intro#Waypoints
Oleksandr
Даже если обернуть try catch, то у меня в переменной оказывается undefined
Demuz
https://stackoverflow.com/questions/28359730/google-place-api-no-access-control-allow-origin-header-is-present-on-the-req
Oleksandr
Это же jsonp
Demuz
Да.
Demuz
Вы надоели братан )))
Demuz
Это штука в ответ просто текст выдает или на карту вашу проиниченную ставит отметки и тп?
Demuz
Короче, просто я сейчас ухожу. Точно в сторону JSONP копайте. И почитайте про него хотя бы немного.
Oleksandr
Класс. Спасибо за совет. Обязательно пну гугл, чтобы запилил jsonp
Demuz
Это же jsonp
Смотрите, если эта штука просто ответ в виде текста возвращает, то нет ничего страшного. Но здесь она возвращает ценый обрабатывающий скрипт. Без JSONP это запускаться не будет.
smile
Getting 'Access-Control-Allow-Origin' on a GET request (axios.get) · Issue #1186 · axios/axios https://github.com/axios/axios/issues/1186
Oleksandr
А что делать если ответ нельзя получить в формате jsonp ?
smile
челик пишет что ошибка из-за localhost
smile
This MDN page has a lot of good information on the CORS and the access-control-allow-origin-header. My first guess looking at the headers is that the server set the access-control-allow-origin header to the http://xxxxxxxx.com example domain. But you are trying to hit it from http://localhost which is not the same domain.
smile
как вариант
smile
хотя обычные карты у меня и под локалхостом работали
Oleksandr
У меня карты работают. Но мне еще нужен directions api
Demuz
А что делать если ответ нельзя получить в формате jsonp ?
Вы п*здец братан. JSONP Это почти тот же жсон. Просто запрос так сделайте как написано по ссылке выше и все. С stackoverflow. Потом отпишитесь.
Demuz
Вот пример. Это тот же жсон. Просто ест колбэк.
Demuz
https://www.sitepoint.com/jsonp-examples/
Nurik
Всем привет. Ребят кто-нибудь сталкивался с таким: когда пытаюсь обратиться к url вида localhost:8080/public/hello.txt то chrome почему-то в конец добавляет слэш. Сидел, ковырял конфиг nginx думал, что где-то параметр не тот, но вроде все стандартно. Открываю в приватной вкладке — норм. Открываю в основном окне — добавляет в конец слэш. Почистил кэш, выключить все расширения, всё-равно добавляется в конец слэш.
Nurik
кстати в лисе норм тоже.
Vitaliy
ет вроде фишка броузера
Nurik
ет вроде фишка броузера
Точно ? Или это баг все-таки ?
Oleksandr
Ребят, как сделать на сервер jsonp запрос, если он отдает только json ?
Oleksandr
любым клиентом браузер, rest клиент.
Я имею ввиду, как преобразуется json к jsonp, если сервер не будет оборачивать ответ в callback
Oleksandr
Например axios, может обернуть в callback сам ?
Eldar
Например axios, может обернуть в callback сам ?
Лучше сделать запрос к своему хосту Node.js, и из ноды уже куда тебе надо и не будешь париться с JSONP / CORS
Oleksandr
Лучше сделать запрос к своему хосту Node.js, и из ноды уже куда тебе надо и не будешь париться с JSONP / CORS
Я понял суть, спасибо. Но я наверное лучше заюзаю какую-то либу для google maps, чтобы не переносить эту логику на сервер
Eldar
А целевой сервер Origin не любой ставит? Зачем тебе JSONP?
Dmitriy
Ребят подскажите пожалуйста почему чаще всего сокет падает? он получается при соединении работает какоето время, отваливается несколько раз с ошибкой и потом продолжает работу без перезагрузки приложения на фронте
Dmitriy
Dmitriy
понимаю что причины могут быть разные, но подскажите хотяб самые распространенные, мож кто сталкивался недавно
Dmitriy
ошибка 502 bad gateway
Demuz
ошибка 502 bad gateway
Приложение, которое обрабатывало запрос за проксированием, выдало ошибку, скорей всего критичную, которая положила приложение. Если оно там было конечо )
Dmitriy
Приложение, которое обрабатывало запрос за проксированием, выдало ошибку, скорей всего критичную, которая положила приложение. Если оно там было конечо )
а можно чуть детальнее )) просто со стороны фронтенда - все работает штатно, эти отвалы если и влияют, то глазу это не заметно
Dmitriy
ну тобишь браузер)
Michael 🌌
Сервак
Dmitriy
Сервак
правильно ли я понимаю - что браузер ломится на сервак с сокетом, на серваке происходит какаято ошибка, но браузер всеравно продолжает ломится - и в какойто момент на серваке все приходит в порядок - он подхватывает сокет и начинает штатно слать данные?
Michael 🌌
Ну, выглядит так, да
Dmitriy
Ну, выглядит так, да
понял, благодарю =)
Michael 🌌
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Dmitriy
В каком смысле глазу не заметно? Bad Gateway незаменто? ))))))))
не - я в плане если я юзер - и не знаю о дев тулзах - приложение работает, ничего не крашится )
Dmitriy
нет. мы то не знаем что там у вас.
а почему нет? какой момент я упускаю?
Dmitriy
у меня просто вообще эти вопросы возникли - потому что я вижу что сокет падает с ошибкой 502, я знаю что 500+ это серверные ошибки, но реконект сокета я не делаю, а он после этих ошибок все равно продолжает работать как ни в чем не бывало
Dmitry
тяжко без async/await
Vitaliy
а это не ошибка, что не все функции в .then() возвращают промис вместо undefined? к тому же, можно было бы сгруппировать 3 .catch() в 1 и вообще уменьшить вложенность
Vitaliy
ну вот если бы хендлеры .then() возвращали промисы/значения — можно было бы всё в 1 цепочку объединить без вложенности, и в конце поставить один на всех .catch()