php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.04.2010, 15:15  
Neuer Benutzer
 
Registriert seit: 31.05.2008
Beiträge: 20
PHP-Kenntnisse:
Fortgeschritten
mupilz befindet sich auf einem aufstrebenden Ast
mupilz eine Nachricht über ICQ schicken
Standard [Erledigt] leeres request trotz übergebenen Daten AJAX

hi,
zuerst, worum es geht:
es ist ein Projekt für die Website meiner Schule, dort soll eine Seite entstehen, worauf man auf einer Europa Karte punkte angezeigt bekommt, wo Austauschprojekte stattgefunden haben.
Diese Punkte sind bearbeitbar, das habe ich mit einem javaScript realisiert (wenns interessiert, kann ich gerne den kompletten code anhängen)
wenn man die Punkte bearbeitet hat, kann man diese Speichern - der Teil ist der, wo das Problem auftritt:
ich will die Daten als GET an ein php script senden, das die Punkte dann in einer datei ablegt.
wenn ich allerdings das request sende, ist dieses leer, obwohl darin daten enthalten sein müssten! Das php Script ist getestet, es funktioniert einwandfrei. Ich bin seit ca. 2 Wochen an diesem einen Problem dran und finde keine Lösung.
hier ist die javaScrpipt funkion zum request senden:
Code:
function save()
{
    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)
            {
            }
        }
    }

    if (request)
    {
        var    i        = 0,
                max    = document.getElementById('last_num').value,
                dat    = "";
        for (i = 0; i < max; i++)
        {
            dat    +=    i + "=" + points[i]["name"] + ":" + points[i]["x"] + "|" + points[i]["y"];
            if (i < max-1)
            {
                dat        += "&";
            }
        }
        request.open('get', "./scripts/save.php", true);
        request.send(dat);
        request.onreadystatechange = getReturn;
    }
    else
    {
        alert("Kann kein Request erzeugen!");
    }
}
hier ist das PHP script zum speichern:
PHP-Code:
<?php
header
('Content-Type: text/html; charset=utf-8');
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0');

if (
$_GET)
{
    
$data    "";
    foreach (
$_GET as $id => $values)
    {
        
$values    explode(":"$values);
        
$data    .= "# point data \nid=" $id "\nname=" $values[0] . "\nx=";
        
$values    explode("|",$values[1]);
        
$data    .= $values[0] . "\ny=" $values[1] . "\n";
    }
    
$file    fopen("map.cfg""w+");
    
fwrite($file$data);
    
fclose($file);
    if (
file_get_contents("map.cfg") == $data)
    {
        print(
"Erfolgreich gespeichert!");
    }
    else
    {
        print(
"Konnte nicht gespeichert werden!");
    }
}
else
{
    print(
"Es wurde nichts uebergeben, konnte nichts speichern!");
}
?>
Ich hoffe, ihr könnt mir weiterhelfen. Wenn ich noch was vergessen hab, schreib ich das gerne noch dazu

mfg mupilz

EDIT: achja, das ganze funktioniert auch nicht, wenn ich beim request senden direkt einen string übergebe.

Geändert von mupilz (05.04.2010 um 15:18 Uhr).
mupilz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.04.2010, 16:19  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von mupilz Beitrag anzeigen
wenn ich allerdings das request sende, ist dieses leer, obwohl darin daten enthalten sein müssten!
Die Daten mit der send-Methode zu übergeben, ist bei GET falsch - das ist nur für POST-Daten.

Zitat:
EDIT: achja, das ganze funktioniert auch nicht, wenn ich beim request senden direkt einen string übergebe.
Ich kann nur vermuten, dass du damit den Versuch meinst, die Daten als GET-Parameter zu übergeben, wir es vorgesehen ist.


Was hat denn deine Kontrollausgabe der zu übergebenden Daten ergeben?

Bekommst du überhaupt eine Antwort vom PHP-Script, wird es überhaupt aufgerufen?

(Du siehst, wie viele Rückfragen nötig sind, wenn deine Problembeschreibung eigentlich nur „funzt nich“ lautet. Bitte liefere also solche absolut wesentlichen Informationen beim nächsten Mal direkt!)
ChrisB ist offline   Mit Zitat antworten
Alt 05.04.2010, 17:04  
Neuer Benutzer
 
Registriert seit: 31.05.2008
Beiträge: 20
PHP-Kenntnisse:
Fortgeschritten
mupilz befindet sich auf einem aufstrebenden Ast
mupilz eine Nachricht über ICQ schicken
Standard

Code:
Es wurde nichts uebergeben, konnte nichts speichern! 
das kommt zurück, es wird also aufgerufen

Zitat:
Die Daten mit der send-Methode zu übergeben, ist bei GET falsch - das ist nur für POST-Daten.
funktioniert auch nicht, wenn ichs als POST sende. passiert genau das selbe, wie wenn ichs als GET sende.
mupilz ist offline   Mit Zitat antworten
Alt 05.04.2010, 17:10  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von mupilz Beitrag anzeigen
funktioniert auch nicht
Wieso muss ich dir jetzt schon zum zweiten Mal sagen, dass „funzt nich“ als Problembeschreibung absolut nichts taugt?

Und wieso beantwortest du nur einen Teil der Fragen, die ich dir gestellt habe?
ChrisB ist offline   Mit Zitat antworten
Alt 05.04.2010, 17:37  
Neuer Benutzer
 
Registriert seit: 31.05.2008
Beiträge: 20
PHP-Kenntnisse:
Fortgeschritten
mupilz befindet sich auf einem aufstrebenden Ast
mupilz eine Nachricht über ICQ schicken
Standard

okay, ich habe mir mal mit var_dump $GLOBALS angeschaut, $_POST ist leer, allerdings gibt es einen index HTTP_RAW_POST_DATA, da steht das request als string drin. Sollte das nicht normal in $_POST drinstehen? und als assoziiertes Array?

Zitat:
Und wieso beantwortest du nur einen Teil der Fragen, die ich dir gestellt habe?
hm? ich hab doch alle beantwortet
Zitat:
Ich kann nur vermuten, dass du damit den Versuch meinst, die Daten als GET-Parameter zu übergeben, wir es vorgesehen ist.
oder war das auch als Frage gemeint? wenn ja, das hab ich nicht erkannt.
und nein, das war damit nicht gemeint. Aber das funktioniert.

Was ich damit gemeint habe, war, dass ich anstatt "request.send(dat);" "request.send('irgend=ein_request')" schreibe, es ist ja möglich, dass es an der variable liegt.
mupilz ist offline   Mit Zitat antworten
Alt 05.04.2010, 17:47  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von mupilz Beitrag anzeigen
$_POST ist leer, allerdings gibt es einen index HTTP_RAW_POST_DATA, da steht das request als string drin. Sollte das nicht normal in $_POST drinstehen? und als assoziiertes Array?
Nur, wenn das Format korrekt ist, so dass PHP es auswerten kann - Stichwort application/x-www-form-urlencoded


Und vor allem meinte ich die Frage,
Zitat:
Was hat denn deine Kontrollausgabe der zu übergebenden Daten ergeben?
- also das, was du clientseitig als zu sendende Daten zusammenbastelst.

Zitat:
Was ich damit gemeint habe, war, dass ich anstatt "request.send(dat);" "request.send('irgend=ein_request')" schreibe, es ist ja möglich, dass es an der variable liegt.
Ein Grund mehr, mal zu checken, was die zum Zeitpunkt der Übergabe eigentlich enthält.
ChrisB ist offline   Mit Zitat antworten
Alt 06.04.2010, 06:55  
Neuer Benutzer
 
Registriert seit: 31.05.2008
Beiträge: 20
PHP-Kenntnisse:
Fortgeschritten
mupilz befindet sich auf einem aufstrebenden Ast
mupilz eine Nachricht über ICQ schicken
Standard

ahh, danke schön, das Problem ist gelöst
Code:
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
die Zeile musste ich einfach einfügen und es als POST senden

Zitat:
- also das, was du clientseitig als zu sendende Daten zusammenbastelst.
das hatte ich schon geprüft, da stimmte alles

Danke für deine Hilfe

mfg mupilz
mupilz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] mit AJAX Daten speichern klappt nicht (TYP falsch?) MueThoS JavaScript, Ajax und mehr 5 16.03.2010 06:06
Ajax, Variablenweitergabe saduccm JavaScript, Ajax und mehr 1 08.03.2010 19:50
Ajax Anwendung, reines Ajax oder Ajax und Html jackie1983 JavaScript, Ajax und mehr 5 09.02.2010 16:50
[Erledigt] Ajax Paginations Problem (Request bei erreich der letzten möglichen Seite kn0wledge JavaScript, Ajax und mehr 4 01.02.2010 16:32
[Erledigt] Umlaut Problem in ajax Request da.eXecutoR JavaScript, Ajax und mehr 1 28.11.2009 12:21
[Erledigt] AJAX interpretRequest läuft nur mit alert() Buschdieb JavaScript, Ajax und mehr 14 26.08.2009 14:04
Lauftext nach ajax request ?!?! 8eww JavaScript, Ajax und mehr 11 25.04.2009 12:41
[Erledigt] Ajax Request Datei nicht direkt öffnen Heinerlutscher JavaScript, Ajax und mehr 5 02.03.2009 18:10
1111: AJAX meets PHP (indirectly) Nikolaus 2.0 Adventskalender 2008 5 15.12.2008 11:00
mit ajax komplexe daten übergeben Crypi HTML, Usability und Barrierefreiheit 7 20.03.2007 18:13
innerHTML funktioniert nicht bei AJAX request Plague HTML, Usability und Barrierefreiheit 1 21.12.2006 14:30
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
request.open php, php request leer, get ist leer ajax php, keine request daten php ajax, post request leer, ajax http code 0, post request ajax php leer, $_post leer bei ajax, ie übergibt kein post, ajax request übergibt trotzdem, ajax php punkt, $_get leeres dokument, post parameters werden im ie nicht richtig übergeben, javascript ajax daten übergeben und speichern, maximale variablenlänge ajax.request post, js etwas im request speichern, ajax post send kommt nicht an, $_post daten nicht erkannt, php datenübergabe ajax, punkt in get request

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum