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


keulu
Réponse acceptée

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*/);

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 ?

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

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