Hola, necesito tomar el token de la URL http://192.168.178.25:8080/register?token=eyJhbGciOiJIUzI...
y envíe una solicitud de publicación en la API para la cuenta de confirmación
¡He intentado esto pero en el backend he recibido SyntaxError!
¿Puede ayudarme alguien?
<script> import axios from 'axios' export default { name: 'Register', data() { return { confirmation : false, somethingWrong: false } }, created: function() { axios.post('/api/users/validateRegister', null,{ params: { registerToken: this.$route.query.token, state: this.$route.query.state } }) .then((res) => { console.log(res) this.confirmation = true }) .catch((err) => { console.log(err) this.somethingWrong = true }) } } </script>Su servidor espera JSON pero está enviando algo más.
Intente ejecutar esto en la consola de su navegador (devtools): JSON.parse('asdasd') .
Cómo lo estás enviando ahora mismo:
axios.post('/api/users/validateRegister', null,{ params: { registerToken: this.$route.query.token, state: this.$route.query.state } })Enviará una solicitud que se parece a:
/api/users/validateRegister?registerToken=<token>&state=<state>
Para hacer una solicitud POST con cuerpo de acuerdo con docs , haces lo siguiente:
axios.post(url[, data[, config]]) Lo que en su caso significa, suponiendo que necesita registerToken y el state como parte del cuerpo y no como parámetros de consulta:
axios.post('/api/users/validateRegister',{ registerToken: this.$route.query.token, state: this.$route.query.state }) Observe cómo no hay null en el segundo parámetro y no hay params: {}
También puede, de acuerdo con los documentos , hacer la siguiente sintaxis:
axios({ method: 'post' url: '/api/users/validateRegister', data: { registerToken: this.$route.query.token, state: this.$route.query.state } })Parece que su servidor arroja un error al intentar analizar el cuerpo.
Desde su solicitud de axios, está pasando parámetros en lugar de un cuerpo; puede ver esto mirando la URL en el error POST en el lado derecho de su captura de pantalla.
En su lugar, envíe la carga útil en el cuerpo de esta manera;
axios.post('/api/users/validateRegister', { registerToken: this.$route.query.token, state: this.$route.query.state })Como no ha proporcionado ningún código del lado del servidor, puede haber algo más que no podamos ver.