amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > jQuery ajax POST problem [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

29.01.2011, 21:30 Uhr

AGSzabo
Posts: 1663
Nutzer
hi,

ich verwende folgenden code, um mittels POST meine daten an den server zu senden:
javascript code:
$.ajax({
			url : '../phpscripts/change_common.php' ,
			method: 'POST',
			data: encodeURI('mode='+mode+'&id='+now_id),
			success: function(result)
			{
				alert(result);
				$('#update').attr("disabled", false);
			}
		});


Es funktioniert nicht. der alert kommt zwar, aber das php-script hat nichts empfangen. Mit GET funktioniert es (natürlich verwende ich im empfangenden php script auf dem server entsprechend $_GET[] oder $_POST[]).

Das es nicht geht erkenne ich daran, dass das echo aus dem phpscript bei POST nichts zurückliefert. oder hat POST keinen rückgabewert?

ps: ich habs nochmal ausprobiert. das phpscript konnte einen statischen string zurückliefern. es hat aber in $_POST oder $_REQUEST nix empfangen.

pps: durch weiteres testen konnte ich feststellen, dass die daten trotz der expliziten angabe von POST immer nur per GET gesendet werden. warum? was mache ich falsch?

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 29.01.2011 um 23:02 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

02.02.2011, 17:44 Uhr

bruZard
Posts: 307
Nutzer
"method:" ist falsch, dort muss "type:" stehen.
--
PanzerZ |
methusalem | basic

[ - Antworten - Zitieren - Direktlink - ]

02.02.2011, 18:11 Uhr

AGSzabo
Posts: 1663
Nutzer
@bruZard:

Es funktioniert. Nun ein anderes 'Problem':

ich habe dieses Formular hier: http://janeway.quicktunnels.net/admin/edit_authors.php

Da gibts die Möglichkeit, mehrere Nicknamen für eine Person einzufügen. Wenn man auf "add name" klickt, sollte eine weitere Zeile "name" unter den übrigen auftauchen usw.

Wie handele ich den Zugriff auf die Felder der unterschiedlichen Zeilen? Ich meine wenn die Felder einer Zeile IDs haben, würden sich die dann in der nächsten Zeile wiederholen... außerdem muss ich irgendwie die ganzen eingabedaten der Zeilen zur Laufzeit in variablen speichern, ich denke da an ein array. Aber selbst wenn das global definiert ist, kann ich aus den jquery-funktionen nicht schreibend darauf zugreifen?

ags
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 18:23 Uhr

bruZard
Posts: 307
Nutzer
jQuery besitzt die Methode "serialize", mit dieser kannst Du alle Felder eines Forms in einem Rutsch codieren ("nick01=bernd&nick02=horst ...") und per Ajax an ein PHP Script schicken. Das PHP Script baut dann das Formular neu auf mit einem Nickname mehr als ihm geschickt wurde und schickt es an JS zurück. Mit $('#myFormDivID').html(resultFromPHP); zeigst Du das veränderte Form wieder an.

Es gibt noch wesentlich performantere Methoden, aber damit könnte ich ein Seminar füllen.
--
PanzerZ |
methusalem | basic

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 19:02 Uhr

AGSzabo
Posts: 1663
Nutzer
@bruZard: aha. ich denke aber ich muss es per javacript machen, bis zu dem punkt an dem der user auf update oder add klickt. ich stelle es mir so vor, dass es da pro nick (und dazu datum seit-bis) eine div gibt, in deren ID die ID des nicks aus der DB auftaucht (zb "#nickdiv"+nickid). unterhalb der div könnte ich dann mit namen oder klassen arbeiten um die felder für den nicknamen selbst und das datum "von" und das "bis" zu erreichen. nicht gut? für alternative vorschläge bin ich dankbar ...

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 19:07 Uhr

bruZard
Posts: 307
Nutzer
In meinem Framework "jBB" habe ich Listen implementiert. Du könntest dies verwenden um bei einem Klick auf "Add Nick" ein weiteres Eingabefeld zu erzeugen und das letzte der Liste hinzuzufügen (ListAddLast). Wenn das Form submittet wird kannst Du Dein Query zusammen basteln indem Du die Liste iterierst (ListNextItem).

jBB findest Du unter http://www.sedm.de/jmax
--
PanzerZ |
methusalem | basic

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 19:19 Uhr

AGSzabo
Posts: 1663
Nutzer
@bruZard:

ich komm hier nicht ganz mit, einfach ein bisserl html einhängen geht doch mit jquery selber. ich bastele eben den inhalt vorher zusammen?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 19:24 Uhr

bruZard
Posts: 307
Nutzer
Ja, einfach HTML einhängen. Du musst aber auch mitzählen wieviele Eingabefelder Du hast und neue Namen dafür erzeugen.
--
PanzerZ |
methusalem | basic

[ - Antworten - Zitieren - Direktlink - ]

04.02.2011, 19:32 Uhr

AGSzabo
Posts: 1663
Nutzer
@bruZard:

es ist kompliziert... die schon aktive nicks haben gegebene IDs, an denen man sie im DOM erkennen kann, aber die neu hinzugefügten nicks haben noch keine, trotzdem muss ich sie irgendwie der datenbank bekannt geben...

... ein trick ist vielleicht, gleich beim adden einer neuen zeile eine ID anzufordern...
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 04.02.2011 um 19:35 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > jQuery ajax POST problem [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.