Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AJAX(JSON), zmienna typu integer, boolean...
Forum PHP.pl > Forum > PHP
Fluke
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.

trueblue
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.
Fluke
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) sad.gif
trueblue
Możesz ewentualnie przesyłać JSON w postaci:
{zmienna: {type: 'boolean', value: 'true'}}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.