Jörg: assoziatives array erweitern push ?

Hallo,
ich möchte mit Javascript ein bestehendes assoziatives Array mit weiteren keys und Werten erweitern.
geht das mit push? nur wie?

das Basis-Array sieht so aus

var data = {testid : tid ,name : name ,vorname: vorname, strasse: strasse};

Ich nutze diese Form als Objekt da ich glaube das Ajax die Daten so erwartet.
Zumindest funktioniert das so wenn ich Ajax die Daten  in dieser form übergebe.
(bin mir aber nicht sicher)

  
                              $.ajax({  
				url:"beispiel.php",  
				type:'GET',  
				data: data,  

an Basis möchte ich nun weitere keys und Werte anhängen

Die Werte und keys erhalte ich durch eine jquery-Abfrage eines Formulars der alle Input-felder liest

  
  
$("input").each(function() {  
	var name = $(this).attr("name");  
	var val  = $(this).val();  
  
	if(val){  
		//keys[0] =  name.replace(new RegExp('[0-9]', 'g'), '');  
		  keys[1]   =  name.replace(new RegExp('[a-z][A-Z]\*', 'g'), '');	  
  
                data.push( ????); // hier möchte ich keys[1] als key anhängen  
                                  // damit ich es dann in einem weiteren Stepp mit den Daten aus  
                                  //dem Formular füllen kann id ein "name" enthalten sind füllen  
                                  // kann  
  
			}  
  
			  
		});  
  

weiss nur nicht wie man ein assoziatives array bzw. dieses Objekt´erweitern kann

Grüße Jörg

  1. Hi,

    ich möchte mit Javascript ein bestehendes assoziatives Array mit weiteren keys und Werten erweitern.
    geht das mit push?

    Nein, das geht überhaupt nicht, weil es in JavaScript keine assoziativen Arrays gibt.

    Für alles weitere, siehe diese aktuelle Diskussion zum weitestgehend gleichen Thema.

    MfG ChrisB

    --
    Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
  2. Hallo,
    Ich nutze diese Form als Objekt da ich glaube das Ajax die Daten so erwartet.
    Zumindest funktioniert das so wenn ich Ajax die Daten  in dieser form übergebe.
    (bin mir aber nicht sicher)

    Genau das kannst Du ändern. Guck Dir an, welche Enctypes es gibt und wie die Daten dafür 'verpackt' werden.

    Default: Enctype="application/x-www-form-urlencoded"
    Egal ob GET oder POST, bei diesem Enctype bilden die Daten einen String mit Schlüssel-Werte-Paaren, hinzu kommt das sog. Percent-Encoding.

    Enctype="multipart/form-data"
    Nur POST, die einzelnen Komponenten der Multipart-Message sind durch eine Boundary voneinander getrennt und können selbst von verschiedenen Content-Type sein (text/html, text/plain, application/octet-stream, image/gif usw.).

    Dein JS-Object muss eine Verwandlung erfahren, so dass die darin enthaltenen Daten einem der o.g. Enctype entsprechend übertragen werden können. I.d.R. JSON.stringify und denke bitte daran, serverseitig muss Du das wieder auseinandernehmen.

    MfG

    --
    Salat mit 4 Köppen:
    Künstler: Wählt die Zutaten aus
    Geizhals: Gießt Essig darüber
    Verschwender: Gießt Öl drauf
    Idiot: Mischt alles durcheinander.
       (aus dem Französischen)