Hi@all,
habe gerade ein problemchen mit nem ajaxcall: Ich möchte diesem ajaxcall ein 2-dimensionales array als data reinfüttern. Das soll passieren wie folgt:
AJAX-CALL #1 empfängt einen Datensatz (data1), welcher an ein php-script (script1.php) gesandt wird. Dieses php-script generiert mir einen 2-dimensionalen array, welchen der AJAX-CALL #1 als antwort empfängt. Dieser speichert die Antwort in einer öffentlichen Variable, welche in AJAX-CALL #2 als data benutzt werden soll.
code:
//AJAX-CALL #1
$.ajax({
type: "POST",
url: "Script1.php",
cache: false,
data: data1,
success: function(result){
data2=result;
},
error: function(result){
alert("sad story...");
}
});
//AJAX-CALL #2
$.ajax({
type: "POST",
url: "script2.php",
cache: false,
data: data2,
success: function(result){
hierpassiertirgendwasanderes
},
error: function(result){
alert("sad story...");
}
});
Das gestaltet sich derzeit als recht schwierig :/
Ich habe schonmal an einen ajax-call einen array übergeben und errinnere mich, dass ich dort quasi einen array durch konkatination von Werten zu einem string übergeben habe, das sah dann in etwa so aus:
a += IntIndex+"="+value+"&";
wobei a der wert war, den ich dann in der ajax funcktion mit "data: a," übergeben habe. Das "&" kam noch dahinter, weil ich das in einer schleife stehen hatte und der quasi einen grösseren string übegeben hat.
Bspweise; Ich wäre durch die Schleife gerannt und hätte die Werte "100" und "200" übergeben, ergab sich der string:
"0=100&1=200"
daraus ergab sich dann wie gewünscht für die weitere Bearbeitung :
Array(
[0]=100
[1]=200
)
Sooo, das ganze möchte ich nun 2-dimensional machen, ausserdem entsteht dieser string nun auf php-seite, was aber eigentlich - mal von der syntax abgesehen - keinen unterschied machen sollte... Ergo habe ich auch da mal den Spass mit der Konkationation versucht.
//2dimarray ist ein 2dimensinales array
//1dimarray ist dann ein array innerhalb des 2dimensionalen arrays
foreach($2dimarray as $key => $1dimarray){
$concat = "Bla=".$1dimarray['Bla']."&"."Bla2=".$1dimarray['Bla2']."\n";
$AJAXdata .= $key."=".$concat."&";
}
print_r($AJAXcall);
Das funktioniert nicht so recht... was auch Sinn macht, da er quasi einen riesigen string baut und nur mit "&"s trennt, wobei er nicht mehr zwischen einem inneren und einem äußeren array unterscheiden kann.. zumindest denke ich, dass das das problem ist...
Weiterhin habe ich mal funktioniert etwas zu bauen wie: Array[0][0]=Hallo,Array[0][1]=du,Array[1][0]=da,Array[1][1]=draussen .... , aber das kann so nicht gelesen werden :/ ( ich habe mir mal das result von AJAX-CALL #2 ausgeben lassen... da kommt nich mehr als
"Array ()" ... also is das vllt schon nicht falsch, aber ich kann da nichts mit anfangen :/
Wie kriege ich es nun hin, ein 2dimensionales array zu basteln, welches ich dann dem AJAX-CALL #2 übergeben kann?
habe gerade ein problemchen mit nem ajaxcall: Ich möchte diesem ajaxcall ein 2-dimensionales array als data reinfüttern. Das soll passieren wie folgt:
AJAX-CALL #1 empfängt einen Datensatz (data1), welcher an ein php-script (script1.php) gesandt wird. Dieses php-script generiert mir einen 2-dimensionalen array, welchen der AJAX-CALL #1 als antwort empfängt. Dieser speichert die Antwort in einer öffentlichen Variable, welche in AJAX-CALL #2 als data benutzt werden soll.
code:
//AJAX-CALL #1
$.ajax({
type: "POST",
url: "Script1.php",
cache: false,
data: data1,
success: function(result){
data2=result;
},
error: function(result){
alert("sad story...");
}
});
//AJAX-CALL #2
$.ajax({
type: "POST",
url: "script2.php",
cache: false,
data: data2,
success: function(result){
hierpassiertirgendwasanderes
},
error: function(result){
alert("sad story...");
}
});
Das gestaltet sich derzeit als recht schwierig :/
Ich habe schonmal an einen ajax-call einen array übergeben und errinnere mich, dass ich dort quasi einen array durch konkatination von Werten zu einem string übergeben habe, das sah dann in etwa so aus:
a += IntIndex+"="+value+"&";
wobei a der wert war, den ich dann in der ajax funcktion mit "data: a," übergeben habe. Das "&" kam noch dahinter, weil ich das in einer schleife stehen hatte und der quasi einen grösseren string übegeben hat.
Bspweise; Ich wäre durch die Schleife gerannt und hätte die Werte "100" und "200" übergeben, ergab sich der string:
"0=100&1=200"
daraus ergab sich dann wie gewünscht für die weitere Bearbeitung :
Array(
[0]=100
[1]=200
)
Sooo, das ganze möchte ich nun 2-dimensional machen, ausserdem entsteht dieser string nun auf php-seite, was aber eigentlich - mal von der syntax abgesehen - keinen unterschied machen sollte... Ergo habe ich auch da mal den Spass mit der Konkationation versucht.
//2dimarray ist ein 2dimensinales array
//1dimarray ist dann ein array innerhalb des 2dimensionalen arrays
foreach($2dimarray as $key => $1dimarray){
$concat = "Bla=".$1dimarray['Bla']."&"."Bla2=".$1dimarray['Bla2']."\n";
$AJAXdata .= $key."=".$concat."&";
}
print_r($AJAXcall);
Das funktioniert nicht so recht... was auch Sinn macht, da er quasi einen riesigen string baut und nur mit "&"s trennt, wobei er nicht mehr zwischen einem inneren und einem äußeren array unterscheiden kann.. zumindest denke ich, dass das das problem ist...
Weiterhin habe ich mal funktioniert etwas zu bauen wie: Array[0][0]=Hallo,Array[0][1]=du,Array[1][0]=da,Array[1][1]=draussen .... , aber das kann so nicht gelesen werden :/ ( ich habe mir mal das result von AJAX-CALL #2 ausgeben lassen... da kommt nich mehr als
"Array ()" ... also is das vllt schon nicht falsch, aber ich kann da nichts mit anfangen :/
Wie kriege ich es nun hin, ein 2dimensionales array zu basteln, welches ich dann dem AJAX-CALL #2 übergeben kann?