web-dev-qa-db-fra.com

Envoyer un objet avec axios get request

Je veux envoyer une demande get avec un objet. Les données d'objet seront utilisées sur le serveur pour mettre à jour les données de session. Mais l'objet ne semble pas être envoyé correctement, car si j'essaie de le renvoyer pour l'imprimer, j'obtiens simplement:

" N; "

Je peux le faire avec jQuery comme ça et ça marche:

 $.get('/mysite/public/api/updatecart', { 'product': this.product },  data => {     
              console.log(data);
           });

L'objet est renvoyé du serveur avec laravel comme ceci:

public function updateCart(Request $request){
      return serialize($request->product);

La même chose ne fonctionne pas avec axios:

axios.get('/api/updatecart', { 'product': this.product })       
                .then(response => {
                    console.log(response.data);
            });

J'ai défini une baseURL par défaut avec axios afin que l'URL soit différente. Il atteint correctement le point de terminaison api et la fonction renvoie ce qui a été envoyé, ce qui n'était apparemment pas l'objet. Je reçois seulement "N;" comme résultat.

15
Galivan

API Axios est un peu différent de jQuery AJAX one. Si vous devez passez quelques paramètres avec la requête GET, vous devez utiliser la propriété params de l'objet config (le deuxième paramètre de la méthode .get()):

axios.get('/api/updatecart', {
  params: {
    product: this.product
  }
}).then(...)
30
raina77ow