• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Object Object] json, ajax, php

0 głosów
342 wizyt
pytanie zadane 23 grudnia 2015 w JavaScript przez Boshi VIP (100,240 p.)

Kto pomoże znaleźć błąd?  serwer zwraca mi [Object Object], kod ma na celu kasowanie postów.

$script2 = <<< JS
$(document).ready(function(){
      $("button.product-delete").on('click',function(e){
      var keys = $('#products-grid').yiiGridView('getSelectedRows');

       $.post({
       url: '/movie/mass', // your controller action
       dataType: 'json',
       data: {keylist: keys},
       success: function(data) {
          //if (data.status === 'success') {
             console.log(data)
          //}
          },
           error: function( req, status, err ) {
            console.log( 'Something went wrong', status, err );
        }

        });

    });
  });

JS;

 

      if (isset($_POST['keylist'])) {
            $keys = Json::decode($_POST['keylist']);
            if (!is_array($keys)) {
                echo Json::encode([
                    'status' => 'error',
                    'total' => 0
                ]);
                return;
            }
            $total = 0;
            foreach ($keys as $key) {
                $model = Movie::findOne($key);
                $total += $model->delete();
            }

            echo Json::encode([
                'status' => 'success',
                'total' => $total
            ]);

            echo Json::encode([
                'status' => 'error',
                'total' => 0
            ]);

        }
         return    $this->redirect(['movie/index']);

 

1 odpowiedź

+1 głos
odpowiedź 23 grudnia 2015 przez Magicone Nałogowiec (45,100 p.)

Wynik jest ok, ponieważ metoda Object.prototype.toString zwraca "[object Object]". console.log(JSON.stringify(data)); i wszystko ma śmigać ;)

komentarz 23 grudnia 2015 przez Boshi VIP (100,240 p.)
edycja 23 grudnia 2015 przez Boshi

To  samo niestety :)

 

http://.../web/movie/%5Bobject%20Object%5D

404 strony nie odnaleziono..

 

A mam drugi kod który działa, ale wolałbym przez jsona przepuszczać to.

 

$(document).ready(function(){
      $("button.product-delete").on('click',function(e){
                e.preventDefault;
                var keys = $('#products-grid').yiiGridView('getSelectedRows');
                $.post('massdelete', {keylist : keys}, function(data) { alert(keys[0]);});
                return false;
        });


    });

controller

 

   if (Yii::$app->request->post('keylist')) {
            $keys = Yii::$app->request->post('keylist');
            $total=0;
            foreach ($keys as $key) {
                $model = Movie::findOne($key);
                $total+=$model->delete();
            }
        }
        return $this->redirect(['movie/index']);

Gdzie tu jest różnica?

Podobne pytania

0 głosów
1 odpowiedź 571 wizyt
pytanie zadane 12 kwietnia 2017 w PHP przez amiluke Obywatel (1,120 p.)
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 10 maja 2017 w JavaScript przez Frozenfroggie Użytkownik (990 p.)
0 głosów
1 odpowiedź 204 wizyt
pytanie zadane 27 marca 2019 w JavaScript przez niezalogowany

93,425 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,786 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...