Quiero enviar una solicitud GET a mi aplicación de back-end y pasar la ID como parámetro de consulta. La ruta que quiero usar es - GET /api/v1/imports/products_batches/:id . Aquí está mi código:
imports.js
const fetchSyncedProductsResultRequest = (token, id) => { return axios .get(`/api/v1/imports/products_batches`, { params: { id: id }, headers: { Authorization: `Bearer ${token}`, } }) .then(response => { return response.data['result'] }) }; sync_products.vue
<template> <div> <div class="col-12 col-md-3"> <button type="button" class="btn btn-primary" @click="syncProducts" > Sync </button> </div> </div> </template> <script> import { fetchSyncedProductsResultRequest, } from '../../api/imports' export default { name: 'BackboneSyncProducts', data() { return { fetchedProductSyncResult: [], } }, methods: { async syncProducts() { let confirmationText = `Do you want to ${this.productsToSyncAmount} sync products?` if (this.productsToSyncAmount === 0) { ModalController.showToast('', 'Type product codes for sync first, please!', 'warning') } else if (await ModalController.showConfirmation('Confirmation', confirmationText)) { try { ModalController.showLoader() await fetchSyncedProductsResultRequest(this, '43').then(data => { console.log(data) this.fetchedProductSyncResult = data }) // await createApparelMagicProductsRequest(this, this.styleCodes).then(data => { // this.loadId = data['id'] // }) const successMessage = `${this.productsToSyncAmount} products have been queued for sync` await ModalController.showToast('', successMessage) } catch (data) { const errorMessage = `Error occurred during queueing products to sync - ` ModalController.showToast('', errorMessage + data?.message, 'error') } finally { this.styleCodes = [] ModalController.hideLoader() } } }, } } </script> Como puede ver, codifiqué id=43 y agregué console.log aquí:
await fetchSyncedProductsResultRequest(this, '43').then(data => { console.log(data) this.fetchedProductSyncResult = data }) y me devuelve undefined .
No sé, ¿estoy enviando los parámetros de consulta incorrectamente o tengo un error tipográfico en alguna parte? ¿Cómo enviar esta solicitud correctamente?
Reemplace su
axios .get(`/api/v1/imports/products_batches`, ...con
axios .get(`/api/v1/imports/products_batches/${id}`, ...