Input
корявый, должен в эмитить current.value
, а не current
.() => {
body: data
})
(axios всё непонятное отправляет как строку).<script>
глобальную версию и написав vue- шаблоны прям в html\php. null
- используешь второй вариант, где передаёшь объект только с нужными ключами: changePhone({ newPhone: '123' })
.changePhone(newPhone:='123')
как в некоторых языках, то в js(и, соответственно, ts) такого нет и, скорее всего, не будет. changePhone = async (phone: string | null = null, newPhone: string | null = null, code: string | null = null) => {
const data: {
phone?: string,
newPhone?: string,
code?: string,
} = {};
if (phone !== null)
data.phone = phone;
if (newPhone !== null)
data.newPhone = newPhone;
if (code !== null)
data.code = code;
return await this.axiosCall({
method: 'post',
url: '/change/phone',
data,
})
}
changePhone = async (data: {
phone?: string,
newPhone?: string,
code?: string,
}) => {
return await this.axiosCall({
method: 'post',
url: '/change/phone',
data,
})
}
fetch
- и получаем responce
- это значит что мы получили ответ от сервера, но ещё не получили всё содержимое ответа(потому что интернет по проводам течёт не моментально). На этом этапе нам уже доступен статус и заголовки ответа, с которыми мы можем произвести какие-то действия(например если статус 404 - не пытаться читать ответ). Соответственно .json()
уже ждёт полной загрузки и выполняет JSON.parse
над ним. response
загрузка может быть и целиком завершена, но не было никакого смысла выделять это в особый случай.document.removeEventListener('mouseup', ...)
, а то слушатели в процессе жизни приложения будут всё накапливаться и накапливаться. На всякий случай.)
Ну и в следующий раз при экспериментах используй 302, а 301 ставь только когда всё заработает.)