AJAX-Request an eine andere Domain

Paspirgilis

Weißer Powerranger
Hallo,
Ich möchte einen aJaX request machen an eine andere domain, welche möglichkeiten bieten sich mir ohne prototype und ohne andere js-libraries.

Auf eine meiner domain binde ich eine JavaScript datei ein die an der eigenen domain(also der gleichen domain wo auch die javascriptdatei liegt) einen request macht (sogar die index datei), ich kriege aber den Fehler zurück:
Code:
Error: uncaught exception: [Exception... "Access to restricted URI denied"  code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)"  location: ... ... ...]

MFG
Mark Paspirgilis
 
Moin Mark,

momentan siehts da noch etwas schlecht aus....siehe deine Fehlermeldung.

In Zukunft wird sich das etwas ändern, die technischen Vorraussetzungen sind in diversen Browsern zwar schon gegeben, in der Praxis werden da aber auch an die Gegenseite (dem fremden Server) Anforderungen gestellt, er muss diese Requests "genehmigen".(Wenn du nach cross-site-xhr googlest, findest du Infos dazu)

Der übliche Weg ist momentan noch das zwischenschalten eines serverseitigen Skriptes, welches die Daten von der entfernten Adresse abholt und ausliefert....das macht die Sache leider etwas langsamer und verdoppelt deinen Traffic.
 
hmm danke glaub ich muss ich sagen xD
Aber welche möglichkeiten habe ich denn.
Ich werde mal detailierter.
Ich will auf meinen anderen Pages "werbung" von den anderen seiten implementieren.
Beispiel:
Auf http://www.DotABattleArea.com binde ich eine Werbung ein.
Dieses Werbungssystem das cih schreibe liegt auf advert.power-of-m.de
Dort wird die WErbung generiert / bzw. das HTML wird generiert was ausgegeben werden soll.
Es müssen allerdings viele Parameter übergeben werden, die ich eigentlich per post übergeben wollte, deswegen hatte ich mich für einen aJaX request entschieden den ich allerdings ohne prototype machen muss. Da auch seite ohne Prototype/scriptaculous/.. funktionieren muss.

Code:
var req = null;
try
	{req = new XMLHttpRequest();}
catch ( ms )
	{
	try
		{req = new ActiveXObject( "Msxml2.XMLHTTP" );}
	catch ( nonms )
		{
		try
			{req = new ActiveXObject( "Microsoft.XMLHTTP" );}
		catch ( failed )
			{req = null;}
		}
	}
req.open( "POST" , 'http://advert.power-of-m.de/?x=' + mp_size_x + '&y=' + mp_size_y + '&bwidth=' + mp_border_width + '&bstyle=' +
					mp_border_style + '&bcolor=' + mp_border_color + '&bgcolor=' + mp_bg_color + '&textcolor=' + mp_text_color , true );
req.onreadystatechange = function()
	{
	switch( req.readyState )
		{
		case 4:
			document.getElementById( mp_include_id ).innerHTML = req.responseText;
			break;
		default:
			return false;
			break;
		}
	};
req.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
req.send( 'hostname=' + advertInclude + '&pagetitle=' + mp_pageTitle + '&metadescription=' + metaDescription + '&metakeywords=' + metaKeywords );

Hoffe jemand hat "schnell" ne idee xD

MFG
Mark Paspirgilis
 
Naja, da gibt es schon andere Möglichkeiten mit Javascript.

Erstelle einfach ein PHP-Skript, welches JS-Code ausliefert.
Diesem kannst du entweder per GET Werte übergeben, oder die Werte als JS-Variablen in der Usrprungsseite deklarieren.
Das PHP-Skript kann man dann halt als externes JS-File in die Seite einbinden, da spielen Domains keine Rolle.

So macht es jedenfalls Google, und die leben gut davon, glaube ich.:-)
 

Neue Beiträge

Zurück