Avatar billede smal64 Novice
20. september 2017 - 15:13 Der er 1 kommentar

Cross Domain Request

Hej Eksperter

Sidder og roder med et WEB projekt, der skal anvendes i undervisnings øjemed. Så syntaksen i det givne projekt skal ikke være alt for overvældende for mine elever => jeg vil gerne kunne anvende simple Ajax kald.
Projektet består dels af et WebAPI, som er udviklet i Visual Studio 2017, hvor CORS er installeret som komponent og er enabled i projektets WebApiConfig.cs fil.
Derudover har jeg lavet en hjemmeside i HTML5 og bruger her javaScript/jQuery kode til at sende data frem og tilbage til mit WebApi ved brug af Ajax kommandoer. Dette har kørt fint hidtil, hvor jeg har kørt det hele lokalt, men efter at have published mit WebAPI projekt til UnoEuro, kan jeg ikke få det til at virke længere på grund af Cross Domain problemer.
Da jeg langt fra er ekspert udi jSon/jSonP og Ajax er jeg lidt i vildrede om, hvor problemet er. Når jeg debugger i Google Chrome, får jeg en fejl meddelelse på formen : Refused to execute script from xxx
because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Det er formodentlig en simpel opsætning jeg mangler, man da jeg som før nævnt, er lidt af en novice udi alt dette, vil jeg spørge her på dette forum fremfor at bruge timer på at google efter en løsning.
Det vil være rigtig fedt med lidt kode til illustration af hvordan det kan bringes til at virke, når klient og server er på forskellige domæner. Og som før nævnt gerne med simple Ajax kald.
Avatar billede S. Enevoldsen Juniormester
20. september 2017 - 19:01 #1
: Refused to execute script from xxx
because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

Browseren siger at det svar den fik fra serveren blev beskrevet som html (text/html). Derfor vil din browser ikke køre det som om det var et JavaScript script. Du kan forsøge at for serveren til at sende den med den korrekte type: 'application/javascript'. I pseudocode er du nok nød til at gøre noget i stil med: Response.ContentType = "application/javascript" . Hvad du præcist skal gøre afhænger af det bibliotek du bruger.

Et alternativ er CORS (cross-origin (HTTP) Requests). Se her for mere: https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester