AJAX, auf eigenen Server zugreifen!

SeltenerMann

Grünschnabel
Hallo,

Ich möchte mal meinen Kunden bieten dass sie ein Kontaktformular per AJAX bekommen.
Jedoch sind die Server meiner Kunden nicht ajaxfähig!

Also so stelle ich es mir vor wie ich es mache!

ich stelle ihnen den JS Code zu verfügung! Sie binden also meinen JS Code in ihre Seite ein:
Code:
<script src="meinJSScript" ..

Und der JS Code ist die AJAX funktion welche auf meinen Server zugreifen soll und die Meldung geben soll, ob jetzt gesendet wurde oder nicht!

Dies klappt jedoch nicht da man mit Ajax nicht auf externe Server/Domains zugreifen kann (naja der IE bildet wieder eine Ausnahme)

Wie könnte ich es abändern das es funtkioniert

Der AJAX Code:
Code:
var request = false;

	// Request senden
	function setRequest(id) {
		// Request erzeugen
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}

		// überprüfen, ob Request erzeugt wurde
		if (!request) {
			alert("Kann keine XMLHTTP-Instanz erzeugen");
			return false;
		} else {
			var url = "ajax_003.php";
			// Name auslesen
			var value = document.getElementById('source_'+id).innerHTML;
			// Request öffnen
			request.open('post', url, true);
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			// Request senden
			request.send('name='+value+'&pos='+id);
			// Request auswerten
			request.onreadystatechange = interpretRequest;
		}
	}

	// Request auswerten
	function interpretRequest() {
		switch (request.readyState) {
			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
			case 4:
				if (request.status != 200) {
					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				} else {
					var content = request.responseText;
					// den Inhalt des Requests in das <div> schreiben
					document.getElementById('content').innerHTML = content;
				}
				break;
			default:
				break;
		}
	}

Nun das problem besteht aber das man die .php datei nicht selbst (kunde) auf dem server hat, man aber auch nicht extern zugreifen kann -.-

Gibt es eine Lösung für mein Problem?

MfG
 
Moin,

ich tippe mal, das eigentliche Problem ist, dass auf den Servern deiner Kunden kein PHP oder andere serverseitige Skripttechniken vorhanden sind(sonst könntest du dein PHP-Skript ja uaf den Servern der Kunden stationieren).

Falls ja, es wird in Zukunft allgemein möglich sein, AJAX domainüberreifend zu Nutzen, das Feature ist vom w3c akzeptiert, und wird bspw. von FF 3.1 schon unterstützt( https://developer.mozilla.org/En/HTTP_Access_Control )

IE8 kann das auch, glaube ich.

Die Umsetzungen variieren natürlich wieder in den Browern, wie nicht anders zu Erwarten. Ich hab mich damit bisher noch nicht sonderlich beschäftigt, kann daher nicht mit Details aufwarten, aber wenn du bei Google nach "cross-site-ajax" suchst, solltest du schon Einiges finden :)
 
Sry, ich meinte das bei ihnen kein PHP funktioniert!

Gibt es solange keine Akzeptable möglichkeit dafür?
Ich meine ich will ja auf meinen Server zugreifen und das JavaScript liegt ja auch auf meinem Server.

Es wäre nett wenn jmd dazu Stellung nehmen kann.

@kuddeldaddeldu

wie vorher gemeint, und jetzt erwähnt =), funktioniert kein PHP.
Da ich sie auch nicht auf meinen Server umleiten will wollte ich das ganze per AJAX lösen.
Sprich sie senden die Daten, bleiben auf der eigenen Seite und bekommen das Request ob es gesendet wurde oder nicht wieder zurück!

MfG
 
Zuletzt bearbeitet:
Naja, auch wenn der Webspace kein PHP anbietet, Formmailer-Skripte zählen selbst bei den billigsten Paketen meist zum "Lieferumfang"...warum also willst du den Kunden über 3 Ecken eine Lösung anbieten, welche sie gekauft haben und über 1Ecke erreichen können.

Abgesehen davon geht das m.E. auf keine Datenschutztechnische Kuhhaut, wenn Kunde A an den Betreiber von Seite B eine Nachricht sendet, welche jederzeit von Serviceanbieter C (dir) mitgelesen werden kann.

Früher sind externe Formmailer vielleicht etwas sorgloser betrachtet worden, aber heutzutage würdest du deinen Kunden mit diesem Service die Option juristischer Verwicklungen oder zumindest das Betreten einer Grauzone anbieten.

PHP-fähiger Webspace kostet nun wirklich nicht die Welt, wer sich deine Dienstleistungen leistet, wird sicher auch noch ein paar Cent für PHP übrig haben. Erläutere den Kunden die Vorzüge, und sie werden es sicher akzeptieren(ich hab da noch nie Überzeugungsprobleme gehabt) :)

Abgesehen davon dürfte ein PHP-fähiger Webspace bei deinen Kunden auch für dich gesteigertes Auftragspotential in sich tragen ;) :)
 
Zuletzt bearbeitet:
Naja, auch wenn der Webspace kein PHP anbietet, Formmailer-Skripte zählen selbst bei den billigsten Paketen meist zum "Lieferumfang"...warum also willst du den Kunden über 3 Ecken eine Lösung anbieten, welche sie gekauft haben und über 1Ecke erreichen können.

Abgesehen davon geht das m.E. auf keine Datenschutztechnische Kuhhaut, wenn Kunde A an den Betreiber von Seite B eine Nachricht sendet, welche jederzeit von Serviceanbieter C (dir) mitgelesen werden kann.

Früher sind externe Formmailer vielleicht etwas sorgloser betrachtet worden, aber heutzutage würdest du deinen Kunden mit diesem Service die Option juristischer Verwicklungen oder zumindest das Betreten einer Grauzone anbieten.

PHP-fähiger Webspace kostet nun wirklich nicht die Welt, wer sich deine Dienstleistungen leistet, wird sicher auch noch ein paar Cent für PHP übrig haben. Erläutere den Kunden die Vorzüge, und sie werden es sicher akzeptieren(ich hab da noch nie Überzeugungsprobleme gehabt) :)

Abgesehen davon dürfte ein PHP-fähiger Webspace bei deinen Kunden auch für dich gesteigertes Auftragspotential in sich tragen ;) :)

Okay na da habe ich wohl die Kunden etc. zu hoch gesehen^^.

Mit Kunden meineich neue HobbyWebmaster alá Baukastenuser. Wo das Kontaktformular von ihnen wirklich nur wenig taugt.

Ich weiß das ich es theoretisch mitlesen könnte, tu ich aber nicht.
Du "Kunden" sind größtenteils 10-16 Jahre alt.

Es sollte eher ein Formmailer werden wo man sich einfach anmelden kann und es dann nutzen kann ohne das irgenwas von mir zu sehen ...

Naja, dann löse ich dies eben anders
 
Zurück