#javascript #vue.js #axios
Вопрос:
Мне успешно удалось получить данные с помощью axios, теперь мне нужно получить данные с помощью Axios, которые были только что созданы методом POST. Вот мой код:
data() {
return {
showModal: false,
info: null,
percentage: 0,
selected_item: {
id: 0,
bill_number: 0,
date: "",
user_id: 0,
},
};
},
getNewDeal() {
axios.post("http://localhost:8080/bills", {
bill_number: 108,
date: "",
user_id: 7,
});
axios
.get("http://localhost:8080/bills")
.then((response) => (this.info = response.data._embedded.bills));
this.info[this.info.length - 1].id = this.selected_item.id;
console.log(this.selected_item.id);
},
консоль.журнал(this.selected_item.id); возвращает 0 он должен возвращать что-то вроде 69843, идентификатор генерируется автоматически.
Ответ №1:
Ваш вызов api POST должен создать элемент, а затем вернуть идентификатор вновь созданного элемента. Затем вы можете сделать следующее.
getNewDeal() {
axios.post("http://localhost:8080/bills", {
bill_number: 108,
date: "",
user_id: 7,
}).then((response) => { // This response should have the ID of the newly created item, this should be set in the POST api call after item create.
this.selected_item.id = response.data.id // I dont know your response object but get the ID from the response.
axios
.get("http://localhost:8080/bills")
.then((response) => {
this.info = response.data._embedded.bills;
this.info[this.info.length - 1].id = this.selected_item.id;
console.log(this.selected_item.id);
});
})
}
Я также думаю, что у вас должен быть вызов GET для одного элемента, если все, что вам нужно, — это одна строка. http://localhost:8080/bills/{id}
Комментарии:
1. Извините, но я немного новичок в том, что представляет response .id, поскольку объект в моем API имеет 4 значения: идентификатор(который генерируется автоматически), номер счета, дата и идентификатор пользователя. Если я попробую использовать точный код, который вы мне дали, в журнале консоли будет указано «не определено». Кроме того, я получил бы только один предмет, но я не знаю его идентификатора, поэтому я не знаю, какой идентификатор получить.
2. Что вы получаете, когда получаете ответ журнала консоли после запроса post?
3. Я получил весь объект, похоже, запрос POST прошел успешно!, Но когда я печатаю идентификатор позже, он говорит, что он не определен. « данные: Объект { идентификатор: 667005, номер счета: 7, идентификатор пользователя: 777777, … } «
4. В точном ответе есть текст объекта?
5. хорошо, я решил эту проблему, мне нужно добавить данные перед идентификатором, поэтому все выглядит так this.selected_item.id = response.data.id, отредактируйте свой ответ, чтобы я мог его одобрить, tnx! И да, в ответе есть больше объектов, которые я только что скопировал, я думаю, что это было бы полезно.