0
votes

Transmettre des données sur javascript mais a eu tellement de barreaux au dos

Je passe des données de mon contrôleur à JavaScript. XXX PRE>

Ceci est le faire dans la lame p>

<script type="text/javascript">
  var data = {!! $events !!}

  console.log(data) //the result is in the screenshot
</script>


2 commentaires

Essayez json_decode ($ événements) dans votre fonction de contrôleur avant la déclaration


Changer simplement {!! $ événements !!} à @json ($ events)


4 Réponses :


1
votes

Vous devez décoder votre JSON dans le contrôleur

  public function index()
        {
            $events  = json_decode(Eventcalendar::get()->pluck('event'));
            return view('eventcalendar.index',compact('events'));
        }


1 commentaires

Conversion de chaîne d'erreur Array



0
votes

Si vous avez le contrôle sur le code du bilan, c'est-à-dire Vous envoyez une demande à votre backend, vous pouvez ajouter json_unescaped_slashes code> en tant que deuxième paramètre de json_encode code> pour arrêter de s'échapper des caractères, il devrait donc sembler Liek ceci: json_encode ($ res, json_unescaped_slashes) code>.

Si vous devez gérer cela dans JavaScript, vous pouvez utiliser json.parse (chaîne) code> et itérer chaque entrée de votre tableau. p>

Vous pouvez utiliser quelque chose comme ça; Initialisez un nouveau tableau NEWDATA code> et appuyez sur les données analysées: P>

var newData = []
data.forEach(element => {
  newData.push(JSON.parse(element))
})


0 commentaires

0
votes

Selon Documentation Laravel

Rendu JSON

Parfois, vous pouvez passer un tableau à votre vue avec l'intention de Rendre comme JSON afin d'initialiser une variable JavaScript. Pour Exemple: xxx

Cependant, au lieu d'appeler manuellement JSON_ENCODE, vous pouvez utiliser le @json Lame directive. La directive @json accepte les mêmes arguments Comme la fonction JSON_ENCODE DE PHP: xxx


0 commentaires

0
votes

résolu en ajoutant

protected $casts = [
        'event' => 'array'
    ];


0 commentaires