Nie działa zmiana języka w IE 11

0

Rozwiązanie bezproblemowo działa na Chrome/Edge, jednak problemy pojawiły się przy testowaniu rozwiązania na IE. Poniżej przedstawię wywołanie z poziomu aplikacji klienckiej, następnie metodę w API oraz błąd, który pojawia się w konsoli. Prosiłbym o pomoc.

Klient (wygenerowany przez nswag):

 changeLanguage(input: ChangeUserLanguageDto | null | undefined): Observable<void> {
        let url_ = this.baseUrl + "/api/services/app/User/ChangeLanguage";
        url_ = url_.replace(/[?&]$/, "");

        const content_ = JSON.stringify(input);

        let options_ : any = {
            body: content_,
            observe: "response",
            responseType: "blob",
            headers: new HttpHeaders({
                "Content-Type": "application/json", 
            })
        };

        return this.http.request("post", url_, options_).pipe(_observableMergeMap((response_ : any) => {
            return this.processChangeLanguage(response_);
        })).pipe(_observableCatch((response_: any) => {
            if (response_ instanceof HttpResponseBase) {
                try {
                    return this.processChangeLanguage(<any>response_);
                } catch (e) {
                    return <Observable<void>><any>_observableThrow(e);
                }
            } else
                return <Observable<void>><any>_observableThrow(response_);
        }));
    }

    protected processChangeLanguage(response: HttpResponseBase): Observable<void> {
        const status = response.status;
        const responseBlob = 
            response instanceof HttpResponse ? response.body : 
            (<any>response).error instanceof Blob ? (<any>response).error : undefined;

        let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }};
        if (status === 200) {
            return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
            return _observableOf<void>(<any>null);
            }));
        } else if (status !== 200 && status !== 204) {
            return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
            return throwException("An unexpected server error occurred.", status, _responseText, _headers);
            }));
        }
        return _observableOf<void>(<any>null);
    }

API (metoda wbudowana do frameworka ASP.NET Boilerplate):

        public async Task ChangeLanguage(ChangeUserLanguageDto input)
        {
            await SettingManager.ChangeSettingForUserAsync(
                AbpSession.ToUserIdentifier(),
                LocalizationSettingNames.DefaultLanguage,
                input.LanguageName
            );
        }

Z kolei błąd z konsoli wygląda następująco. Tutaj garść informacji o nim, które udało mi się znaleźć: https://stackoverflow.com/que[...]s-denied-on-microsoft-edge-bu
klik

0

Odświeżam

0

Internet twierdzi, że to CORS jest źle skonfigurowany albo długość linku przekracza 2000 znaków. Sprawdziłeś to?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0