Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jaki jest błąd w tym zapisie?
twojastara
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.11.2014

Ostrzeżenie: (10%)
X----


Co jest nie tak z drugim fragmentem kodu, że po var_dump($data) fragment pierwszy drukuje tak jak trzeba zawartość zmiennej a drugi NULL?

Pierwszy. Dobry
  1. function myFunction() {
  2. var elementy = document.getElementsByClassName('inputISBN');
  3. var data = elementy[0].value;
  4.  
  5. $.ajax({
  6. url: "{{ path('test') }}",
  7. type: "POST",
  8. data: { "data": data }
  9.  
  10. });
  11.  
  12. }



Drugi. Zły.
  1. function myFunction() {
  2. var elementy = document.getElementsByClassName('inputISBN');
  3. var data = [];
  4. data[elementy[0].name] = elementy[0].value;
  5.  
  6. $.ajax({
  7. url: "{{ path('test') }}",
  8. type: "POST",
  9. data: { "data": data }
  10. });
  11. }


Mimo, że w konsoli przeglądarki po kolei wklepywany kod drugi zwraca to co trzeba
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. undefined
  3. var data = [];
  4. undefined
  5. data[elementy[0].name] = elementy[0].value;
  6. "667"


Ten post edytował twojastara 28.04.2015, 23:53:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
twojastara
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.11.2014

Ostrzeżenie: (10%)
X----


Cytat(Pyton_000 @ 29.04.2015, 08:41:47 ) *
nie [] a {}

zamiast
  1.  
  2. var elementy = document.getElementsByClassName('inputISBN');
  3. var data = [];
  4. data[elementy[0].name] = elementy[0].value;
  5.  
  6. $.ajax({
  7. url: "{{ path('test') }}",
  8. type: "POST",
  9. data: { "data": data }
  10. });

to nie poszło
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = {};
  3. data = {elementy[0].name : elementy[0].value};
  4.  
  5. $.ajax({
  6. url: "{{ path('test') }}",
  7. type: "POST",
  8. data: data ,

to nie poszło . zwróciło null
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = {};
  3. var key = elementy[0].name;
  4. var value = elementy[0].value;
  5. data = { key: value};
  6.  
  7. $.ajax({
  8. url: "{{ path('test') }}",
  9. type: "POST",
  10. data: data ,
  11. });

to nie poszło
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = {};
  3. var key = elementy[0].name;
  4. var value = elementy[0].value;
  5. data = { key: value};
  6.  
  7.  
  8. $.ajax({
  9. url: "{{ path('test') }}",
  10. type: "POST",
  11. data: { "data": data }
  12. });
  13.  

var_dump() zwraca string '[]' (length=2)
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = [];
  3. data[elementy[0].name] = elementy[0].value;
  4. var jsonString = JSON.stringify(data);
  5. $.ajax({
  6. url: "{{ path('test') }}",
  7. type: "POST",
  8. data: { "data": jsonString }
  9. });

var_dump() zwraca string '[]' (length=2)
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = [];
  3. data[elementy[0].name] = elementy[0].value;
  4. var jsonString = JSON.stringify(data);
  5. $.ajax({
  6. url: "{{ path('test') }}",
  7. type: "POST",
  8. data: { data: jsonString }
  9. });

tu coś wreszcie się pokazało (bez klucza, ale z wartością). var_dump zwraca array (size=1) 'key' => string '667' (length=3)
  1. var elementy = document.getElementsByClassName('inputISBN');
  2. var data = {};
  3. var key = elementy[0].name;
  4. var value = elementy[0].value;
  5. data = { key: value};
  6.  
  7. $.ajax({
  8. url: "{{ path('test') }}",
  9. type: "POST",
  10. data: {data:data} ,
  11. });


Ten post edytował twojastara 29.04.2015, 11:25:29
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: 10.10.2025 - 17:24