Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> AJAX(JSON), zmienna typu integer, boolean...
Fluke
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


Witam,

Mam mały problem z typami przesłanymi za pomocą AJAX. Korzystam z Symfony2 i w klasie Entity za pomocą adnotacji, użyłem dyrektywy 'Type(type="boolean")'.
  1. //...
  2. use Symfony\Component\Validator\Constraints as Assert;
  3. //..
  4. /**
  5.   * @ORM\Column(type="boolean")
  6.   * @Assert\Type(type="boolean")
  7.   *
  8.   * @var boolean
  9.   */
  10. protected $isActive = true;

Przesyłam tablicę podobną do:
  1. $(function() {
  2. $.ajax({
  3. //....
  4. data: {
  5. isActive: true // albo 1
  6. }
  7. });
  8. });

W kontrolerze, gdy patrzę na przesłane dane, mam zmienną isActive = '1' albo isActive = 'true' - czyli zmienna typu string.
Czy istnieje jakaś metoda aby ta zmienna mogła być typem prostym ? Jedynie co mogę zrobić to filtracja danych ale w Symfony2 nie ma takiego mechanizmu jak w Zend (albo nie wiem). Co znalazłem to DMS filter.

Z góry dzięki za wszelką pomoc.
Pozdrawiam.

Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Jako, że typy nie są przesyłane ajaxem, wszystkie zmienne są stringami.
Aby były typami prostymi musisz je przekonwertować.
Proponuję również true słać jako 1, a false jako 0.
Go to the top of the page
+Quote Post
Fluke
post
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

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


Też tak robię, ale żyłem małą nadzieją, że coś źle robiłem i da się jakoś od razu przez ajax`a przesłać typ (mowa o typach prostych) (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Możesz ewentualnie przesyłać JSON w postaci:
{zmienna: {type: 'boolean', value: 'true'}}

Ten post edytował trueblue 26.04.2014, 16:18:55
Go to the top of the page
+Quote Post

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: 22.12.2025 - 00:38