У меня есть веб-сайт, который работает на www.example.com. Когда страница загружается, вызывается файл JavaScript, который вызывает вызов Ajax для xyz.subdomain.example.com.Ajax call failing, но только на определенном носителе сотовой связи
Все работает на каждой платформе/браузере, который я тестировал, за исключением одного. Вещи терпят неудачу, когда я запускаю это на своем мобильном телефоне Android (независимо от используемого браузера, хотя все работает, если я включаю WiFi). Тем не менее, все работает правильно на сотовый телефон моей жены, который соединяется с другим носителем (да, у нас есть 2 компании - длинный рассказ).
Когда что-то не получается, статус, который я получаю, равен 0 без дополнительного текста. Я чувствую, что это может быть проблемой CORS, но кто может позвонить? Я бы предположил, что браузер работает, я бы поверил ОС, но я не могу согласиться с тем, что оператор делает это.
Есть ли другое объяснение, что происходит? Любая идея, как решить эту проблему?
EDIT
Я сделал немного прогресса, но не решили проблему. Спасибо всем, кто помог.
Мое первоначальное объяснение немного упрощено. Я на самом деле пытаюсь перейти на random.xyz.subdomain.example.com, а затем посмотреть, что происходит на DNS-сервере (который я контролирую).
В любом случае, я решил установить termux, и это здорово. Вот что я нашел:
dig random.xyz.subdomain.example.com
Решает правильно. FWIW, Google DNS используется здесь.
curl random.xyz.subdomain.example.com
Полученной Ошибка: завиток: (6) Не удалось разрешить хост random.xyz.subdomain.example.com
ОК, это было неожиданно. Домен разрешается с помощью dig, но проблема с завихрением.
На данный момент я превращаюсь WiFi на по телефону
curl random.xyz.subdomain.example.com
Связка данных возвращается корректно.
Это кажется немного странным. Я думаю, это означает, что оператор не проблема, это телефон. Или, более конкретно, мобильный код в телефоне, потому что WiFi работает красиво. Это правильно? Что еще я должен проверить?
И если это означает что-то, что телефон является Samsung Galaxy Гранд Prime (SM-G530W) работает Android 5.1.1
EDIT 2
Я был обеспокоен различным поведением между рыть и завихнулся и начал изучать это. Я видел, как некоторые люди ссылаются на эту проблему, но не полностью ее решают. Я также заметил, что поведение, которое я нашел на моем телефоне, также можно было дублировать с экземпляра экземпляра AWS Linux.
Я также понял, что процесс разрешения имени сервера имен, который контролировал зону для random.xyz.subdomain.example.com, был очень сложным. Он состоял из нескольких CNAME через ресурсы, контролируемые тремя различными компаниями.Весь этот процесс работает, но, по-видимому, не для определенных случаев.
В любом случае, я сделал разрешение имени этого сервера имен намного проще, и теперь все работает повсюду. Я думаю, что конечной проблемой была некоторая устаревшая библиотека с ошибками в сети Linux, которая не обрабатывалась должным образом или не справлялась с каким-то условием, которое редко случается.
Может быть проблемой DNS для перевозчика. Вы можете попробовать отладить с помощью chrome и посмотреть запрос, который делает ваш Android, и то, что вы получаете в ответ с сервера. – Dekel
Если вы используете телефон Android, вы можете подключить его к Chrome на своем ПК и отладить страницу, включая сетевой трафик и т. Д. Это может по крайней мере дать некоторые подсказки о том, как выглядит запрос и ответ – Phil