Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] przekazywanie tablicy jako parametr funkcji, przekazywane nieporzadane dane
iwosz
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 30.07.2009

Ostrzeżenie: (0%)
-----


Witam,

łącze się z takim problemem iż mam funkcję do której przekazuję tablicę jako parametr, a dokładnie tablicę parametrów np:

Kod
var params = new Array();
params['p1'] = 1;
params['p2'] = 2;
params['text'] = 'text';
params['last_param'] = 0;

function postParams( params ) {
    var params_string = "";
    for(name in params) {
        params_string += "&"+name+"="+params[name];
    }
    // i dalej przesylamy ajaxem parametry...
}


problem polega na tym, że w tej tablicy czasem w ostatnim elemencie przesyłają się nieporządane dane, typu params['nazwa_jakiejś_funkcji'] = cialo_jakiejś_funkcji (IMG:style_emoticons/default/blinksmiley.gif) przykład:

Kod
ajax_post.php?p1=1&p2=2&text=text&remove=function (b) {  var a = this.indexOf(b);  if (a != -1) {  this.splice(a, 1);  }  return this; }&sortDates=function () {  return this.sort(function (a, b) {return a.getTime() - b.getTime();}); }&last_param=0

i z niewinnie wyglądającej tablicy tworzy mi się jakiś potwór!? (IMG:style_emoticons/default/blinksmiley.gif)

Czy to może być związane z przeglądaniem tablicy for'em ? Jak to jest możliwe że w wyjściowym stringu oprócz zdefiniowanych parametrów mam jeszcze jakiś szit?

Z góry dzięki za odp!

Pozdrawiam.

Ten post edytował iwosz 28.01.2011, 13:28:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Hum, pomyliłem się, ale to z pośpiechu bo też kiedyś miałem taki problem, ale teraz testuję i za nic nie mogę uzyskać tego samego, możliwe że tej zmiennej params są przypisane jakieś metody gdzieś?
Może używasz jakiegoś FW do JS'a?


Edit: no i już wiem, najwidoczniej Prototype dopisuje swoje metody do obiektu Array stąd takie błędy (IMG:style_emoticons/default/smile.gif) Zmień Framework na jQuery i będzie git (IMG:style_emoticons/default/smile.gif)

Ten post edytował melkorm 28.01.2011, 14:04:48
Go to the top of the page
+Quote Post
iwosz
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 30.07.2009

Ostrzeżenie: (0%)
-----


Cytat(melkorm @ 28.01.2011, 14:02:04 ) *
no i już wiem, najwidoczniej Prototype dopisuje swoje metody do obiektu Array stąd takie błędy (IMG:style_emoticons/default/smile.gif)


Hm, no tak, ale czemu wartości tablicy są nadpisywane? Zastanawia mnie jak to jest możliwe i czy powinno tak być...

Cytat(melkorm @ 28.01.2011, 14:02:04 ) *
Zmień Framework na jQuery i będzie git (IMG:style_emoticons/default/smile.gif)


Akurat korzystam z jQuery (IMG:style_emoticons/default/winksmiley.jpg) też testuje i wygląda na to że ta zmienna jest wcześniej nadpisywana... jak będę wiedział an 100% to dam znać!

Ten post edytował iwosz 28.01.2011, 14:17:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 11:30