0
votes

Est-il possible de soumettre un tableau d'objets?

J'utilise Laravel 5.3, et j'ai du mal à soumettre des tableaux d'objets à mon contrôleur. C'est possible? Et sinon, existe-t-il une solution de contournement afin que je puisse soumettre plusieurs objets à la fois?

Exemple de demande: xxx

puis, pour tester, je suis simplement retourné le contenu de La demande: xxx

et obtenu ce résultat: xxx


6 commentaires

Comment envoyez-vous les données dans la demande? Je veux dire .. Comment construisez-vous votre charge utile?


@HCK je l'envoie via jQuery avec exactement le même objet que j'ai mis sur la question. Les matrices de primitives passent tout juste bien, mais des tableaux d'objets échouent


Utilisez-vous l'en-tête Type de contenu: Application / JSON ?


Non, mais où puis-je ajouter l'en-tête? Dans la demande ou la réponse?


Dans la demande. Ces en-têtes indiquent au Laravel que les données entrantes sont dans ce format ( JSON ). De plus, vous pouvez également ajouter un autre à dire au format que vous attendez: Accepter: Application / JSON


Juste essayé, même résultat


3 Réponses :


0
votes

Dans votre cas, le résultat est un tableau d'objets, résultat [0] est le premier objet. Pour accéder à l'ID par exemple, vous utiliseriez le résultat [0] ['ID']. Vous pouvez utiliser A pour boucle par exemple pour voir les données réelles.

aussi je pense que vous pouvez utiliser json_encode.

J'espère que cela aide!


3 commentaires

Nope, je l'ai vérifié sur la console et mon résultat est littéralement une gamme de chaînes "[Objet d'objet]". Utilisation de JSON_ENCODE sur le contrôleur n'a également pas aidé, car mon Data tableau contenait uniquement des chaînes "[objet d'objet]" là aussi.


U ne peut pas vérifier que dans la console ... utilisez dd ($ résultats) dans votre fonction backend


Oui, je peux, en utilisant console.log sur un objet montrera toute sa structure. Et une réponse ci-dessous m'a dit d'utiliser dd ($ résultats) dans le contrôleur et il n'a pas fonctionné non plus



0
votes

retour a souvent des problèmes lors de l'affichage des objets / des tableaux. Essayez simplement: xxx

au lieu de retour , vous serez surpris :)


1 commentaires

Obtenu un tableau vide comme réponse



1
votes

Dans votre JS

req: (2) […]
​​
0: Object { id: "1", name: "test1" }
​​
1: Object { id: "2", name: "test2" }
​​
length: 2


5 commentaires

J'ai simulé votre demande avec Ajax, comme ceci: $. POST ({URL: 'My URL', en-têtes: {'Type de contenu': 'Application / JSON', 'X-CSRF-Token': 'My jeton '}, Data: [{id: 1, nom:' test1 '}, {id: 2, nom:' test2 '}]}). Nailways (res => console.log (res)); Le code PHP était identique à celui que vous avez mis dans votre réponse et ma réponse a été une matrice vide.


Essayé, a eu une matrice vide comme réponse


S'il vous plaît copier coller mon code tel qu'il est. Il suffit de changer votre nom de contrôleur uniquement


Laissez-nous Continuez cette discussion en chat .


Mon erreur ajouté l'en-tête Type de contenu Comme la première réponse m'a dit, sans que votre code fonctionne très bien. Merci!