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: p> puis, pour tester, je suis simplement retourné le contenu de La demande: p> et obtenu ce résultat: p>
3 Réponses :
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. P>
aussi je pense que vous pouvez utiliser json_encode. p>
J'espère que cela aide! P>
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 CODE> sur le contrôleur n'a également pas aidé, car mon Data code> 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 code> sur un objet montrera toute sa structure. Et une réponse ci-dessous m'a dit d'utiliser dd ($ résultats) code> dans le contrôleur et il n'a pas fonctionné non plus
au lieu de retour code> a souvent des problèmes lors de l'affichage des objets / des tableaux.
Essayez simplement: retour code>, vous serez surpris :) p> p>
Obtenu un tableau vide comme réponse
Dans votre JS
req: (2) [â¦]
ââ
0: Object { id: "1", name: "test1" }
ââ
1: Object { id: "2", name: "test2" }
ââ
length: 2
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)); code > 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 Code> Type de contenu Code> Comme la première réponse m'a dit, sans que votre code fonctionne très bien. Merci!
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 CODE>?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 code>). De plus, vous pouvez également ajouter un autre à dire au format que vous attendez:Accepter: Application / JSON code>Juste essayé, même résultat