_POST Variablen werden nicht übergeben

timliebetrau

Grünschnabel
Hallo ihr Lieben!

Ich habe folgendes Problem. Ich habe ein Formular welches über Ajax an ein PHp Script gesendet wird und dort ausgewertet werden soll.
Das PHP Script funktioniert mit der auswertung, das Problem ist aber das der Ajax Teil zwar den Request durchführt aber nicht die Variablen mitsendet.
Die Variablen sind aber mit Daten gefüllt, da ich mir diese zu Testzwecken über ein alert ausgeben lassen.

Weis jemand woran das liegen könnte?

Hier mal der Ajax Teil:
Code:
var ssh_host_var = $('input[name=ssh_host]');
			var ssh_port_var = $('input[name=ssh_port]');
			var ssh_user_var = $('input[name=ssh_user]');
			var ssh_pass_var = $('input[name=ssh_pass]');
			
			var data =
			'ssh_host=' + ssh_host_var.val() + 
			'&ssh_port=' + ssh_port_var.val() +
			'&ssh_user=' + ssh_user_var.val() +
			'&ssh_pass=' + ssh_pass_var.val();
			//alert("data/class/setup_class.php?"+data); //DEBUG
			$.ajax({
				type: "POST",
				url: "data/class/setup_class.php",
				data: data,
				success: function(msg)
				{
					$( "#setup_form" ).dialog("close");
                                }
                        });

Das PHP Script sieht wie folgt aus:
PHP:
$ssh_host = $_POST["ssh_host"];
$ssh_port = $_POST["ssh_port"];
$ssh_user = $_POST["ssh_user"];
$ssh_pass = $_POST["ssh_pass"];
$type 	  = $_POST["type"];

echo $ssh_user;

Ich hoffe Ihr könnt mir helfen.
 
Hi
Du formatierst die Daten als wären sie GET Parameter.

Ich benutze meistens ein Objekt als data Variable:
Javascript:
var data = {}; //Objekt erzeugen
data['ssh_host'] = ssh_host_var.val();
data['ssh_port'] = ssh_port_var.val();
data['ssh_user'] = ssh_user_var.val();
data['ssh_pass'] = ssh_pass_var.val();
 
@diel2001:
Ich habe mir nicht angeschaut was jQuery da genau macht, aber zumindest in der Doc steht:
"
data
Type: PlainObject or String
Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below).
"
dass er es selbst konvertiert.

Und dein:
Javascript:
{
id:5, name:'Test'
}
ist ja nichts anderes als ein Objekt.
Siehe auch: http://www.w3schools.com/js/js_objects.asp
 
@diel2001:
Ich habe mir mal genauer angeschaut was jQuery da macht:

Wenn es kein String ist, dann wird es an jQuery.param übergeben:
Javascript:
// convert data if not already a string
                if ( s.data && s.processData && typeof s.data !== "string" ) {
                        s.data = jQuery.param( s.data, s.traditional );
                }

http://api.jquery.com/jQuery.param/

Dieser macht aus dem Objekt ein String wie der OP gemacht hat, deshalb stimmt das wohl schon.

@OP: dann musst du das ganze mal debuggen.
 
Zurück