Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 10.11.2008, 09:53 Nach oben    #21
Patrick Freitag
 
Registriert seit: 17.08.2005
Beiträge: 142
Standard

Hallo DasMööp,

du erzeugst zwar einen AJAX-Request jedoch werden keine Parameter im AJAX-Call übergeben. Vielleicht solltest du dir mal das Tutorial http://www.developers-guide.net/foru...xmlhttprequest ansehen, das hilft dir bestimmt weiter. Ansonsten einfach nach "AJAX Request with POST" googlen und dir wird alles nötige vermittelt.
__________________
Blog - Follow me on Twitter
Neq' ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.11.2008, 16:57 Nach oben    #22
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 242
Standard

Hallo Neq,

ich möchte ja Grundsätzlich das ganze Packet per "POST" erhalten, so wie wenn ich das auf herkömmlichen wegen mache.

Wenn etwas Spezifisches hinzukommt würde ich das script entsprechend erweitern für einzellene Aktionen. Wie auch in dem Tutorial.

Also ich würde ganz gerne als default Request immer das ganze POST Array im Php dann zur Verfügung haben.

Hmm ...
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2008, 11:13 Nach oben    #23
Patrick Freitag
 
Registriert seit: 17.08.2005
Beiträge: 142
Standard

Hallo DasMööp,

das funktioniert so nicht. Du möchtest das im AJAX-Request einfach alle POST's die auf der Seite verfügbar sind abgeschickt werden. Das macht ein normaler Request jedoch auch nicht wirklich, auch hier müssen Parameter definiert sein.

Du brauchst Key-Value-Paare die du in der send()-Methode übergibst. Bei dir würde das ungefähr so aussehen:
Code:
xhttpRequest.send("text="+document.getElementsByName("text")[0]);
Das ganze POST-Array kannste du auf diesem Wege nicht übermitteln, bzw. wird es sowieso übermittelt. Gib einfach mal per print_r() oder var_dump() das $_REQUEST-Array aus und du wirst sehen das zusätzlich zu deinem Key-Value-Paar auch die PHPSESSIONID usw. ausgelesen wird.
__________________
Blog - Follow me on Twitter
Neq' ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2008, 23:05 Nach oben    #24
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 242
Standard

Ahoi,

also ich habe vor und nach dem ganzen Script ne print_r() Ausgabe auf $_POST aber da kommt nichts an ... werde mir aber das nochmal anschauen anhand Deines Beispieles.
Kann aber erst am Woen wieder ran hab dazwischen noch anderes , derweil Danke ich meld mich wenn ich wieder vorm Problem sitze ;)

bis dahin ...
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.11.2008, 21:37 Nach oben    #25
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 242
Standard

Hi,

also gut ich verstehe es zwar nicht das ich nicht komplett übergeben kann, habe es jetzt mal so geändert zum Testen:

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<
html>
    <
head>

    <
meta name="keyword" content="" />
    <
meta name="description" content="" />
    <
meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />


<
script type="text/javascript" language="javascript">

    var 
xhttpRequest false;

    function 
createXhttpRequest() {

        if (
window.XMLHttpRequest) { // Mozilla, Safari,...
            
xhttpRequest = new XMLHttpRequest();
            if (
xhttpRequest.overrideMimeType) {
                
xhttpRequest.overrideMimeType('text/xml');
                
// zu dieser Zeile siehe weiter unten
            
}
        } else if (
window.ActiveXObject) { // IE
            
try {
                
xhttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (
e) {
                try {
                    
xhttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (
e) {}
            }
        }

    }

    function 
changeInhalt(content) {

        
sendRequest();
        
document.getElementById("inhalt").innerHTML content;

    }

    function 
sendRequest(xhttpRequestUrl) {

        if (!
xhttpRequest) {
            
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return 
false;
        }

        
xhttpRequest.open('POST''index.php5'true);
        
xhttpRequest.onreadystatechange sendRequestHandle;
        
xhttpRequest.send('test='+document.getElementsByName('test'));


    }

    function 
sendRequestHandle() {
        
//alert ( xhttpRequest.readyState);
        
if (xhttpRequest.readyState == && xhttpRequest.status == 200) {
            
//alert(xhttpRequest.responseText);
        
}
    }

    function 
init() {
        
createXhttpRequest();
    }

    
window.onload=init;

</script> 
Code:
<button value="test" name="test" onclick="sendRequest()">TEST</button>
Was fehlt, denn ich bekomme immer noch keine Ausgabe!? Hülfe
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2008, 14:25 Nach oben    #26
Patrick Freitag
 
Registriert seit: 17.08.2005
Beiträge: 142
Standard

Zitat:
Zitat von DasMööp Beitrag anzeigen
Hi,

also gut ich verstehe es zwar nicht das ich nicht komplett übergeben kann, habe es jetzt mal so geändert zum Testen:

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<
html>
    <
head>

    <
meta name="keyword" content="" />
    <
meta name="description" content="" />
    <
meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />


<
script type="text/javascript" language="javascript">

    var 
xhttpRequest false;

    function 
createXhttpRequest() {

        if (
window.XMLHttpRequest) { // Mozilla, Safari,...
            
xhttpRequest = new XMLHttpRequest();
            if (
xhttpRequest.overrideMimeType) {
                
xhttpRequest.overrideMimeType('text/xml');
                
// zu dieser Zeile siehe weiter unten
            
}
        } else if (
window.ActiveXObject) { // IE
            
try {
                
xhttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (
e) {
                try {
                    
xhttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (
e) {}
            }
        }

    }

    function 
changeInhalt(content) {

        
sendRequest();
        
document.getElementById("inhalt").innerHTML content;

    }

    function 
sendRequest(xhttpRequestUrl) {

        if (!
xhttpRequest) {
            
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return 
false;
        }

        
xhttpRequest.open('POST''index.php5'true);
        
xhttpRequest.onreadystatechange sendRequestHandle;
        
xhttpRequest.send('test='+document.getElementsByName('test'));


    }

    function 
sendRequestHandle() {
        
//alert ( xhttpRequest.readyState);
        
if (xhttpRequest.readyState == && xhttpRequest.status == 200) {
            
//alert(xhttpRequest.responseText);
        
}
    }

    function 
init() {
        
createXhttpRequest();
    }

    
window.onload=init;

</script> 
Code:
<button value="test" name="test" onclick="sendRequest()">TEST</button>
Was fehlt, denn ich bekomme immer noch keine Ausgabe!? Hülfe
Dann entferne doch die Kommentare bei "//alert(xhttpRequest.responseText);". Dann bekommst du auch den Output. Ich hab's nämlich grade mit deinem Code getestet und es funktioniert.
__________________
Blog - Follow me on Twitter
Neq' ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.11.2008, 19:56 Nach oben    #27
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 242
Standard

Hi,

das mag ja sein aber in dem PhpFile eben nicht !?

PHP-Code:
<?php

        header
('Content-Type: text/html; charset=utf-8'); // sorgt für die korrekte Kodierung
        
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // ist mal wieder wichtig wegen IE

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>

    <meta name="keyword" content="" />
    <meta name="description" content="" />
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />


<script type="text/javascript" language="javascript">

    var xhttpRequest = false;


    function createXhttpRequest() {

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            xhttpRequest = new XMLHttpRequest();
            if (xhttpRequest.overrideMimeType) {
                xhttpRequest.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        } else if (window.ActiveXObject) { // IE
            try {
                xhttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xhttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

    }

    function changeInhalt(content) {

        sendRequest();
        document.getElementById("inhalt").innerHTML = content;

    }

    function sendRequest(xhttpRequestContent, xhttpRequestUrl) {

        if (!xhttpRequest) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }

        if (!xhttpRequestUrl) {

            var xhttpRequestUrl =  'test.php5';

        }

        value = xhttpRequestContent;

        xhttpRequest.open('POST', 'test.php5', true);
        xhttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhttpRequest.send('var='+value);
        xhttpRequest.onreadystatechange = sendRequestHandle;
        //xhttpRequest.send(null);

    }

    function sendRequestHandle() {
        //alert ( xhttpRequest.readyState);
        if (xhttpRequest.readyState == 4 && xhttpRequest.status == 200) {
            //alert(xhttpRequest.responseText);

            var content = xhttpRequest.responseText;
            // den Inhalt des Requests in das <div> schreiben
            document.getElementById('test').innerHTML = value;

        }
    }

    function init() {
        createXhttpRequest();
    }

    window.onload=init;

</script>

</head>

    <body>

          <button value="test" name="test" onclick="sendRequest('TEST')" id="test">und...</button>

    </body>

</html>
ind test.php5 mache ich ne print_r($_POST); ausgabe, aber nischt.

Und das verstehe ich nicht, wo liegt der Hacken das ich zB. den Rückgabewerte (value) nicht noch in dem test.php5 beeinflussen kann!?
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.11.2008, 11:01 Nach oben    #28
Neuer Benutzer
 
Registriert seit: 13.11.2008
Beiträge: 5
Standard

In der Datei solltest Du dich auf einen charset-typ festlegen.

Ich hab Deinen Code mal etwas bearbeitet:
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>

    <meta name="keyword" content="" />
    <meta name="description" content="" />
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />


<script type="text/javascript" language="javascript">

    var xhttpRequest = false;


    function createXhttpRequest() {

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            xhttpRequest = new XMLHttpRequest();
            if (xhttpRequest.overrideMimeType) {
                xhttpRequest.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        } else if (window.ActiveXObject) { // IE
            try {
                xhttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xhttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

    }

    function changeInhalt(content) {

        sendRequest();
        document.getElementById("inhalt").innerHTML = content;

    }

    function sendRequest(xhttpRequestContent, xhttpRequestUrl) {

        if (!xhttpRequest) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }

        if (!xhttpRequestUrl) {

            var xhttpRequestUrl =  'test.php5';

        }

        value = xhttpRequestContent;

        xhttpRequest.open('POST', 'test.php5', true);
        xhttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhttpRequest.send('var='+value);
        xhttpRequest.onreadystatechange = sendRequestHandle;
        xhttpRequest.send(null);

    }

    function sendRequestHandle() {
        //alert ( xhttpRequest.readyState);
        if (xhttpRequest.readyState == 4 && xhttpRequest.status == 200) {
            //alert(xhttpRequest.responseText);

            var content = xhttpRequest.responseText;
            // den Inhalt des Requests in das <div> schreiben
            document.getElementById('test').innerHTML = content;

        }
    }

    function init() {
        createXhttpRequest();
    }

    window.onload=init;

</script>

</head>

    <body>

          <button onclick="sendRequest('TEST')">Klick</button>
          
          <div id="test">(...)</div>

    </body>

</html> 
test.php5:
PHP-Code:
<?php
header
('Content-Type: text/html; charset=utf-8'); // sorgt für die korrekte Kodierung
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // ist mal wieder wichtig wegen IE

if(isset($_POST["var"]))
    {
        echo
"<pre>";
            
print_r($_POST);
        echo
"</pre>";
    }
?>
mfg

Geändert von wccw.in (19.11.2008 um 11:04 Uhr)
wccw.in ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.11.2008, 11:20 Nach oben    #29
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 242
Standard

Vielen Dank!

Jetzt haut das hin ... jetzt kann ich micht weiter damit beschäftigen!

Das müsste aber dann noch so aussehen, oder !?

Code:
        xhttpRequest.open('POST', 'test.php5', true);
        xhttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhttpRequest.send('var='+value);
        xhttpRequest.onreadystatechange = sendRequestHandle;
        //xhttpRequest.send(null);
An Alle einen Dank!
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.11.2008, 12:45 Nach oben    #30
Patrick Freitag
 
Registriert seit: 17.08.2005
Beiträge: 142
Standard

Zitat:
Zitat von DasMööp Beitrag anzeigen
Vielen Dank!

Jetzt haut das hin ... jetzt kann ich micht weiter damit beschäftigen!

Das müsste aber dann noch so aussehen, oder !?

Code:
        xhttpRequest.open('POST', 'test.php5', true);
        xhttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhttpRequest.send('var='+value);
        xhttpRequest.onreadystatechange = sendRequestHandle;
        //xhttpRequest.send(null);
An Alle einen Dank!
Richtig. ;)
Btw. hat es vorher auch schon funktioniert, nur weiß ich nicht was du letztendlich wirklich gemacht hast. ;)
__________________
Blog - Follow me on Twitter
Neq' ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[AJAX] Eine Einführung in AJAX und XMLHttpRequest Jay Tutorials 1 08.12.2006 16:21
php script (mit mysql-abfrage)wird nicht zu ende ausgeführt lodee PHP-Programmierung 2 12.09.2006 12:39
PHP Script alle x Sekunden ausführen | .bat Script? dsxs Sonstige Programmiersprachen 2 03.08.2006 12:15
PHP Ajax empfehlung spoensche Gesuche 11 19.04.2006 10:14
PHP Upload-Status + AJAX? Chr!s PHP-Programmierung 13 12.11.2005 15:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47