Я внимательно к решению. Я сравнил URL-адреса (IE-11 и Chrome), оба разбора разные. Потому что я использую рестарт. Это парсинг url, как ..% 22var% 22:% 22abc% 22 .. Но в IE-11 не в состоянии разобрать. В IE-11 разбор похож на "var": "abc"

лизую одностраничное приложение (SPA) с использованием Angular Js, MongoDb. И я использую покой с обещаниями. Остальные звонки работают нормально в браузере Chrome, Mozila, который используется для разработки. Но остальные вызов не работает в IE-11. Это дает мневнутренняя ошибка сервера 500.

Я не могу узнать линию вызова покоя. Потому что это не показывает номер строки. Но я могу поделиться примером кода отдыха вызова.

  Rh.all('apicall').get('dbname/_aggrs/'+ ar_dep +'?avars=' + query).then(function (d) {

       console.log("response data");

      });

Над вызовом не печатается консоль. Потому что он ломается в IE-11, но эти остальные вызовы работают нормально в другом браузере. Если я ставлю прямой путь не с переменной, то он работает в IE-11.
Рабочий Отдых Позвоните ниже

Rh.all('apicall').get('dbname').then(function (d) {

           console.log("response data");

          });

СЕТЬ в консоли (IE-11)

В ХРОМЕ

Я обновляю свой вопрос. Потому что я нашел некоторую разницу в разборе URL, Из-за перезапуска.

В ХРОМЕ:

Rh.all ('apicall'). Get ('dbname / _aggrs /' + ar_dep + '? Avars =' + query)

После разбора

локальный: 8080 / apicall / имя_бд / _aggrs / маршрут аварцы = {% 22routes% 22:% 22US% 22}?

В объекте запроса у меня есть маршруты: us. Так что в хроме это разбор% 22 -% 22 место "".

В IE-11

Rh.all ('apicall'). Get ('dbname / _aggrs /' + ar_dep + '? Avars =' + query)

После разбора

локальный: 8080 / apicall / имя_бд / _aggrs / маршрут аварцы = { "маршруты": "США"}?

В IE-11 он не анализирует двойные квоты до% 22% 22. Он разбирается так же, как строка.

 charlietfl16 нояб. 2017 г., 19:05
Проверьте фактический запрос на вкладке сети и сравните с тем же запросом в другом браузере. Все от заголовков до отправленных данных
 V SH16 нояб. 2017 г., 19:04
@charlietfl Я не могу видеть журналы ошибок на стороне сервера. Потому что я звоню только по API. Я не взаимодействую с кодом на стороне сервера.
 charlietfl16 нояб. 2017 г., 19:08
Это только статус ... что-то еще внутри запроса должно быть другим
 V SH16 нояб. 2017 г., 19:06
В хроме работает нормально. Дай мне 200 нормально статус
 charlietfl16 нояб. 2017 г., 19:01
Проверьте журналы ошибок на стороне сервера.

Ответы на вопрос(1)

Решение Вопроса

с определенным браузером, но это сбой сервера; запрос, отправляемый на сервер, вызывает сбой кода на стороне сервера.

Ошибка 500 сама по себе слишком общая; не зная более подробной информации об ошибке, ее всегда очень трудно диагностировать, и, честно говоря, я не смогу дать вам окончательный ответ здесь.

В конце концов, вы должны исключить очевидное и проверить настройки браузера в IE. В частности, любые параметры, которые могут привести к неправильной связи с сервером. Например, убедитесь, что куки включены и работают правильно.

Но первое, что вы должны сделать, это обсудить с поставщиком или разработчиками API, потому что у них будет доступ к журналам ошибок сервера, и они захотят узнать об этом, если их код выдает ошибку 500.

Однако, если вы действительно хотите провести расследование, то факт, что он относится только к одному браузеру, является подсказкой. Если другие браузеры работают, то это говорит нам о том, что этот один браузер (IE11) отправляет запрос с чем-то, что отличается от других браузеров, и это то, что вызывает код на стороне сервера для провал. Это дает нам над чем поработать в расследовании.

Поэтому первое, что нужно сделать, это изучить запрос во всех браузерах. Используйте инструменты разработчика F12 в Chrome, Firefox и IE, и вы дойдете до точки, когда вы сделали один и тот же вызов во всех трех из них, и он работает в FF и Chrome, но не в IE11.

В инструментах разработки теперь вы сможете проверить детали запроса для всех трех. Сравните их.

Начните с просмотра данных запроса - то есть фактической строки запроса, которая была отправлена. Если есть различия, подумайте, может ли какое-либо из этих отличий быть причиной ошибки. Что-то может выделяться явно; например, если IE обрезал переменную или что-то в этом роде. Если это решит проблему, то отлично.

Если это не поможет, то вам нужно посмотреть более подробно. Может быть, есть некоторые различия, но они не выглядят так, как будто они должны что-то сломать? Современные инструменты разработки для браузера позволяют вам редактировать и повторно отправлять запрос, поэтому попробуйте отредактировать запрос в инструментах разработчика Chrome или Firefox и сделать параметры такими же, как в IE, что не удалось. Теперь попробуйте повторно отправить этот запрос. Если вам повезет, это приведет к сбою запроса в другом браузере, что позволит вам показать, что проблема связана с определенным набором данных (а не с конкретным браузером). Вы упомянули, что это сторонний API, поэтому вам нужно будет обсудить это с поставщиком API, чтобы выяснить, почему этот запрос нарушает их API.

Если вы до сих пор не обнаружили проблему на данный момент, и вы отправляете одинаковые запросы в обоих браузерах, и вы вошли в систему как один и тот же пользователь, то следующим шагом является просмотр заголовков запросов.

Существует один заголовок запроса, который определенно будет другим: строка User Agent. Но могут быть и другие. Снова, попробуйте повторно отправить запрос, который работает в Chrome, но с заголовками из ошибочного запроса в IE (включая строку UA). Сбой запроса теперь в Chrome? Если это так, определите, какие заголовки отличаются, что делает его неудачным.

Опять же, если это позволяет вам найти конкретный набор данных запроса и заголовков, которые вызывают проблему, то вам нужно будет обсудить это с поставщиком API.

Если все это не помогает, попробуйте посмотреть на куки. Вы уже проверили, что cookie-файлы работают, так что теперь это выглядит как долгий путь, но еще раз сравните cookie-файлы между браузерами и посмотрите, есть ли в них что-то явно другое.

Надеюсь, что этого достаточно, чтобы помочь вам диагностировать проблему.

 V SH20 нояб. 2017 г., 08:54
Я внимательно к решению. Я сравнил URL-адреса (IE-11 и Chrome), оба разбора разные. Потому что я использую рестарт. Это парсинг url, как ..% 22var% 22:% 22abc% 22 .. Но в IE-11 не в состоянии разобрать. В IE-11 разбор похож на "var": "abc"

Ваш ответ на вопрос