jQuery ajax JSON wiele parametrów w polu data

0

Witam,
mam taki kod:

	$.ajax({
		type: 'POST',
		url: 'pobierz.php',
		data: param,
		dataType: 'json',
		success: function(data) {
			alert(data);
		}
	});

normalnie zamiast **param **wpisuje np: {key: 'abc', value: 'def'}, ale chcę zrobić tak by przerobić tablicę na właśnie taką formę.

var tab = new Array();
tab[0] = 'wartosc 1';
tab[1] = 'wartosc 2';
itd...

Nie wiem co z tym zrobić. Jak zrobiłem:

...
data: { tab.join() }
...

To oczywiście jest błąd. Jak dobrze wiem taka forma to JSON, ale mimo to nie mogę sobie z tym poradzić.

0

Ale pod jaką nazwą chcesz to odebrać po stronie serwera? Parametry to pary klucz-wartość, lub klucz-wartości. Ty w przypadku tablicy masz po prostu listę wartości, bez żadnej nazwy.

Przy okazji: nigdy nie pisz tak:

var tab = new Array();
tab[0] = 'wartosc 1';
tab[1] = 'wartosc 2';

To samo, tylko że szybciej, zwięźlej, bezpieczniej i bardziej elegancko, możesz napisać w ten sposób:

var tab = ['wartosc 1', 'wartosc 2', 'wartosc 3'];
0

Specjalnie tak napisałem. Znalazłem metodę JSON.stringify, ale mam kolejny problem bo chcę mieć jako wynik klucz => wartość, ale by klucz był czymś innym niż integerem.

0

Czym dokładnie? Skąd chcesz brać klucze?

0

Chcę osiągnąć taki efekt:

{imie: 'Adam', nazwisko: 'Nowak', kraj: 'Polska'}

ale nie pobieram dane pojedynczo, tylko na pomocą pętli.

Jak napisałem wcześniej wysyłam dane metodą POST i chcę potem pobrać sobie wszystko w PHP przy pomocy $_POST[].

0

Jeśli wartości masz w tablicy i przetwarzasz je w pętli, to w drugiej tablicy o takiej samej długości powinieneś mieć klucze.

var wartosci = ['Adam', 'Nowak', 'Polska'];
var klucze = ['imie', 'nazwisko', 'kraj'];

// i gdzieś dalej..
var obj = {};
for (var i = 0; i < klucze.length; i++) {
  var klucz = klucze[i];
  var wartosc = wartosci[i];
  obj[klucz] = wartosc;
}
// i w obj masz obiekt, o ktory Ci chodzilo: {imie: 'Adam', nazwisko: 'Nowak', kraj: 'Polska'}

Możliwe jednak, że coś przekombinowywujesz :). Zamiast dwóch tablic koło siebie, zadeklarowałbym od razu obiekt klucz/wartosc.

0

Dzięki wielkie !
A ja cuduję z JSON.stringify() i json_decode()

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1