web-dev-qa-db-fra.com

Axios get in url fonctionne mais avec le second paramètre comme objet, il ne fonctionne pas

J'essaie d'envoyer la demande GET en tant que deuxième paramètre, mais cela ne fonctionne pas tant que l'URL fonctionne.

Cela fonctionne, $ _GET ['naam'] renvoie le test:

export function saveScore(naam, score) {
  return function (dispatch) { 
    axios.get('http://****.nl/****/gebruikerOpslaan.php?naam=test')
      .then((response) => {
        dispatch({type: "SAVE_SCORE_SUCCESS", payload: response.data})
      })
      .catch((err) => {
        dispatch({type: "SAVE_SCORE_FAILURE", payload: err})
      })
  }
};

Mais quand j'essaye cela, il n'y a absolument rien dans $_GET:

export function saveScore(naam, score) {
  return function (dispatch) { 
    axios.get('http://****.nl/****/gebruikerOpslaan.php',
    {
        password: 'pass',
        naam: naam,
        score: score
    })
      .then((response) => {
        dispatch({type: "SAVE_SCORE_SUCCESS", payload: response.data})
      })
      .catch((err) => {
        dispatch({type: "SAVE_SCORE_FAILURE", payload: err})
      })
  }
};

Pourquoi je ne peux pas faire ça? Dans la documentation, il est clairement indiqué que c'est possible. Avec $_POST cela ne fonctionne pas non plus.

76
Sinan Samet

axios.get accepte une configuration de demande en tant que deuxième paramètre (et non des paramètres de chaîne de requête).

Vous pouvez utiliser l'option params config pour définir les paramètres de chaîne de requête comme suit:

_axios.get('/api', {
  params: {
    foo: 'bar'
  }
});
_
195
Nick Uraltsev

Sur le client:

  axios.get('/api', {
      params: {
        foo: 'bar'
      }
    });

Sur le serveur:

function get(req, res, next) {

  let param = req.query.foo
   .....
}
49
danikoren