Gammal 2012-08-07, 12:00   #1
Darkmagic
Nykomling
 
Reg.datum: Mar 2011
Inlägg: 29
Standard

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?
Gammal 2012-08-07, 12:47   #2
nosnaj
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 823
Standard

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ä.
Gammal 2012-08-07, 12:52   #3
Kimpo
Medlem
 
Reg.datum: Mar 2009
Inlägg: 177
Standard

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.
Gammal 2012-08-07, 21:11   #4
Darkmagic
Nykomling
 
Reg.datum: Mar 2011
Inlägg: 29
Standard

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.
Gammal 2012-08-15, 02:29   #5
Alex
Administratör
 
Alexs avatar
 
Reg.datum: Sep 2004
Inlägg: 1 560
Skicka ett meddelande via ICQ till Alex Skicka ett meddelande via MSN till Alex
Standard

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.
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg
Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker.
Gammal 2012-08-15, 18:17   #6
Erik Stenman
Bara ett inlägg till!
 
Reg.datum: Aug 2007
Inlägg: 1 852
Standard

Citat:
Ursprungligen postat av Alex Visa inlägg
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å.
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 20:18.

WN - Topp

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