| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Erledigt | [Firefox Toolbar] XMLHttpRequest-Probleme im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi Community! Ich bin grad dabei, eine Firefox-Toolbar zu scripten. Dafür will ich Daten vom Server abrufen und auch ...
![]() |
| | #1 (permalink) |
| Registriert seit: 30.06.04 ![]() Likes: 0 | Erledigt | [Firefox Toolbar] XMLHttpRequest-Probleme Anzeige Hi Community! Ich bin grad dabei, eine Firefox-Toolbar zu scripten. Dafür will ich Daten vom Server abrufen und auch welche senden. Hab mir dazu eine PHP gescriptet. Das abrufen funktioniert auch, aber das Senden der Daten will nicht so recht. Edit: Erledigt!!! Das PHP-Script am Server war schuld. Hab dort statt $_POST - $_GET gehabt :) Die anderen Fragen gelten immer noch +gg+ Ausserdem will ich eine Variable in die Request-Funktion übergeben. Das Problem hab ich direkt im Code kommentiert! Weiters will ich die Daten aus der Request-Funktion zurückgeben. Also wenn ich die Funktion mit Code: var loginerror = doRequest('loginerror'); Aber jetzt zum Request-Script: Code: var http_request = false;
function doRequest(whichdata) {
http_request = false;
var url = 'http://www.next4u.de/toolbar/data.php';
var entered_user = next4uTB_ReadUser();
var entered_pass = next4uTB_ReadPass();
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
return false;
}
http_request.onreadystatechange = getContent(whichdata); // Will ich hier die Variable übergeben, kommt der readyState-Wert nicht über 0 hinaus, d.h. er kann keine Verbindung aufbauen
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send('user='+ entered_user +'&pw='+ entered_pass +'&whichdata='+ whichdata); // Diese Werte werden nicht an den Server gesendet bzw. der Server empfängt sie nicht.
}
function getContent(whichdata) {
if (http_request.readyState == 4) {
var xmldoc = http_request.responseXML;
var root_node = xmldoc.getElementsByTagName(whichdata).item(0);
var answer = root_node.firstChild.data;
alert(answer); // dieser Wert soll dann abschließend in der loginerror-Variablen stehen, die sich in einer anderen Funktion befindet
}
} Aja, und danke schon mal für Antworten ;) mfg, Bogi EDIT: So, es hat sich jetzt ALLES erledigt :) Irgendwie hat mir die Nacht gut getan. 1. Die Daten werden nun Empfangen und verarbeitet. Schuld war ein blöder Fehler von mir (was sonst :rolleyes:) Ich hab soeben entdeckt, dass ich am Server $_GET statt $_POST hatte. Ich hab das nun geändert und es funktioniert auch. 2. Anstatt mit return zu arbeiten, rufe ich einfach die Funktion mit der Rückgabe als Parameter auf: also: next4uTB_CheckLogin(answer); 3. In der Problem-Funktion wird ja nur überprüft, dass auch der richtige-Tagname geholt wird. Ich setze einfach in der PHP jede Rückgabe in z.b. <return>-Tags, also muss ich in der betroffenen Funktion keine Variable reinschreiben!! Die Abfrage, welche Daten geholt werden sollen, managen ja schon die POST-Variablen :) Edit Nr. 2: Ich war wohl ein wenig voreilig! Punkt 2 hat sich doch nicht erledigt. So, wie ich das beschrieben hätte, kann ich ja lediglich in eine Funktion zurückgeben bzw in diesem Fall übergeben. Ich will es ja eigentlich mit "var xyz = doRequest('xyz');" machen. Also bitte weiterhin um Hilfe :rolleyes: mfg |
| | |
| | #2 (permalink) |
| Registriert seit: 27.03.04 ![]() Likes: 0 | Vielleicht hilft Dir diese Variante function blablubb(&$myarray) { $x = $myarray while (machmit$xwasduwillst).... $myarray = $x } Dann brauchst du nicht mit $a = blablubb($b) schaffen sondern kannst sie einfach aufrufen. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 30.06.04 ![]() Likes: 0 | Ähm, es geht hier um javascript/ajax und nicht PHP Aber es hat sich mittlerweile schon erledigt. Auf Grund des asynchronen Vorgangs, kann nicht mit return zurückgegeben werden, sondern es kann nur innerhalb der getContent-Funktion eine Funktion aufgerufen werden und an die übergeben werden. So hab ich es auch jetzt gelöst |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| XMLHttpRequest readyState wechselt nicht | blueflash | (Web-) Design und webbasierte Sprachen | 3 | 17.02.08 11:21 |
| [Erledigt]Schriftgröße als Standart für Firefox und IE | Test User | Applikationen | 2 | 10.02.08 01:19 |
| [Erledigt] Probleme mit IE-Darstellung | boehmi | (Web-) Design und webbasierte Sprachen | 6 | 10.10.06 22:09 |
| Google-Toolbar für Firefox | webfreak | Downloads | 14 | 31.05.06 13:27 |