Ajax Call to Web API работает в Chrome, но не в Edge - PullRequest
0 голосов
/ 09 января 2020

Я создал расширение Edge, которое в настоящее время выполняет Ajax вызов веб-API, который я также разработал для запроса данных. В настоящее время после нескольких часов тестирования я знаю, что вызов Ajax работает правильно и возвращает соответствующие данные.

Моя проблема в том, что вызов Ajax не будет выполнен, когда я попытаюсь позвонить с моего внутреннего номера Edge. Он не предоставляет никаких рассуждений или ошибок, просто сообщение об ошибке, которое я добавил к вызову Ajax (ошибка: .... см. Ниже) После проверки того же самого расширения и Ajax вызова моего веб-API в chrome вызов Ajax из расширения работает правильно и возвращает данные, из которых я могу затем использовать.

$(document).ready(function () {
    $select = $('#brandDropdownList');
    $.ajax({
        type: "GET",
        url: 'http://localhost:44358/api/brands',
        dataType: 'JSON',
        success:function(data) {
            $select.html('');
            $.each(data, function(key, val) {
                $select.append('<option id="' + val.brand_id + '">' + val.brand_name + '</option>');
            })
        },
        error: function(){
            $select.html('<option id="-2">Please try again...</option>');
        }
    });  

Почему это? У меня нет ошибок или проблем, он отлично работает в Chrome, но не в Edge, и, к сожалению, я должен использовать Edge для проекта, который я предпринимаю. Единственная ошибка, которую я вижу в консоли в средствах разработки, заключается в том, что есть предупреждение для:

"serviceWorker.getRegistrations отклонено из-за небезопасного контекста или ограничения хоста в расширении ms-browser"

1 Ответ

1 голос
/ 10 января 2020

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

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

Ссылка:

(1) Ошибка извлечь ошибку с помощью MS Edge Extension

(2) Почему Microsoft Edge открывает некоторые локальные веб-сайты ...

(3) Как отладка localhost в Microsoft Edge

...