WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Cross domain ajax (https://www.wn.se/forum/showthread.php?t=1054432)

Darkmagic 2012-08-07 12:00

Cross domain ajax
 
Hej,

Jag håller på att integrera google translate api till ett projekt där jag gör allt med javascript/jquery.
Jag använder mig av ajax post till google translate för att översätta min text, allt fungerar fint i alla läsare utom IE. Där får jag "permission denied".

Skickar med koden för att hämta ut språken.

Kod:

        $.ajax({
                url: "https://www.googleapis.com/language/translate/v2/languages?key=" + GetApiKey() + "&target=" + GetLanguage(langId),
                type: "get",
                dataType: "jsonp",
                async: false,
                success: function (data) {
                        for (var i = 0; i < data.data.languages.length; i++) {
                                $('.GoogleTranslateLanguages').append("<option value='" + data.data.languages[i].language + "'>" + data.data.languages[i].name.capitalize() + "</option>");
                        }
                        $('[id$=' + source + ']').val(GetLanguage(langId));
                        $('[id$=' + destination + ']').val('en');
                }
        });

Kör jag det utanför applikationen som jag ska integrera det med så får jag upp activex popup om att jag måte tillåta activex. Finns det något sätta att kringå detta så jag kan få det att fungera i IE utan att behöva tillåta activex eller gå in i security settings på IE?

nosnaj 2012-08-07 12:47

Stödjer Google Translate API ens jsonp som du anropar med?
Om det inte stödjer detta kan du ej anropa med ajax på andra domäner utan för köra via en fil på din egen server som relä.

Kimpo 2012-08-07 12:52

Om jag inte minns fel så tillåter IE7 inte över huvudtaget x-domain calls. Men i IE 8 och uppåt bör du kunna använda dig av XDomainRequest.

Darkmagic 2012-08-07 21:11

Google translate stödjer jsonp.

Ja vad jag har läst mig till så ska jag kunna använda XDomainRequest men det funkar inte, jag kör IE9.

Alla andra webbläsare fungerar som sagt hur fint som.. kör jag scriptet utanför applikationen så får jag upp att jag måste godkänna activex kontroll och godkänner jag detta så funkar det även i IE men jag kan inte godkänna detta i applikationen som jag ska integrera det i.

Alex 2012-08-15 02:29

Kör du det lokalt från din disk? Testa att ladda upp skriptet till en webbserver och se om det fungerar bättre. IE har väldigt konstiga regler gällande filer som körs direkt från disk.

Längden på url;en du anropar kan också vara ett problem. Maxlängden på en url är 2038 tecken i IE.

Erik Stenman 2012-08-15 18:17

Citat:

Ursprungligen postat av Alex (Inlägg 20447398)
Kör du det lokalt från din disk? Testa att ladda upp skriptet till en webbserver och se om det fungerar bättre. IE har väldigt konstiga regler gällande filer som körs direkt från disk.

Längden på url;en du anropar kan också vara ett problem. Maxlängden på en url är 2038 tecken i IE.

Jo, när jag jobbade med API:t hade jag också stora problem med maxlängden på URL:erna i IE så det är värt att tänka på.


Alla tider är GMT +2. Klockan är nu 09:27.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson