Массив Javascript для контроллера laravel - PullRequest
0 голосов
/ 20 мая 2018

У меня есть массив пользователей в Javascript, и я пытаюсь отправить запрос с этим массивом и некоторыми другими данными на контроллер Laravel.

seleccionados = ["A", "B",...]

$.post('/guardarOpciones', {
     _token: $('meta[name=csrf-token]').attr('content'),
     equipos: cant_equipos,
     jugadores: cant_jugadores,
     fecha: fecha_inicio,
     users: JSON.stringify(seleccionados)
 }
)
.done(function(data) {
     //alert(data);
})
.fail(function() {
    alert( "error" );
});

Теперь в моем контроллере я пытаюсь получить доступ к этому массиву, чтобы затем зациклить его

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Configuracion;

class OpcionesController extends Controller
{
  public function store(Request $request){

    $usuarios = request('users');
    error_log($usuarios);
  }

}

Конечно, $ usuarios - это строка, поэтому я не могу получить к ней доступв качестве массива я пытался использовать json_decode и некоторые другие вещи для его преобразования, но это не сработало.

Что я могу сделать, чтобы преобразовать его в массив, чтобы я мог проходить через него?Или, может быть, мне не нужно делать JSON.stringify в сообщении ajax

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Это должно решить вашу проблему (пожалуйста, проверьте комментарии в строках):

public function store(Request $request){ 
    $usersJSON = $request->users; // get your users data
    $usersArray = json_decode($usersJSON, true); // if second parameter is true, you get array, otherwise or if you don't provide it you get object...
    dd($usersArray); // to check your result..
}
0 голосов
/ 20 мая 2018

Это должно работать.

public function store(Request $request){ 
   $usuarios = $request->users; 
}

Не использовать JSON.stringify.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...