VueJs ajax

Par Inscription Site, il y a 8 ans


bonjour

Je souhaiterais posté des données grâce à axios, j'utilise symfony comme framework php. Lorsque j'effectue ma requête ajax, rien n'est afficher dans le profiler de symfony ...

<script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> var app; app = new Vue({ el: "#app", data:{ }, methods: { submit () { // Native form submission is not yet supported axios.post('/api/submit', { name: 'tptp' }) } } }); </script>

Merci d'avance

4 réponses

Maenhyr, il y a 8 ans

Si ton frontend et ton backend ne sont pas sur le même domaine, tu as sûrement un problème au niveau de l'url: '/api/submit'. Quelle réponse as tu dans le panneau Network de Chrome devtools ?

Inscription Site, il y a 8 ans

Le front et le back sont sur le même serveur. la route /api/submit match bien, les données sont passé en json et c'est pas ce que je veux enfaite. Cela doit venir du Header

keulu, il y a 8 ans

euh... quand tu dit que les données sont envoyés en json mais que c'est pas ce que tu veux, tu peux etre un peu plus clair ? Parce que le Json (meme si c'est pas la norme) c'est un peu la base de la communication JS / PHP.
Sinon tu veux peux etre le form data ? (comme si c'etait un formulaire)

const data = new FormData(); //eventuellement //const config = { headers: { 'Content-Type': 'multipart/form-data' } }; data.append('action', 'post'); data.append('name', 'tptp'); axios.post('/api/submit', data /*, config*/);
Inscription Site, il y a 8 ans

Merci keulu, ta solution m'a permis d'avancer. Certe Json est plûtot bien mais j'utilise PHP et avec $request->get('name'), sa me retourne null avec le json