vue.js - 尝试使用 fetch 执行发布请求时出错
问题描述
我正在开发一个应用程序,它通过 api rest 使用 golang 制作的后端,我想做的是登录,但我遇到了一个问题,那就是当我想用 vue 发出请求时它返回一个错误它说 JSON 输入意外结束,但我向邮递员发出请求,它不会产生任何错误。
这是我的文件vue:
<script>
import { ref } from '@vue/reactivity';
export default {
setup() {
const email = ref('');
const password = ref('');
const submitForm = () => {
fetch(`http://localhost:8000/api/v1/users/login`, {
method: 'POST',
body: JSON.stringify({
email: email.value,
password: password.value,
}),
headers: {
'Content-Type': 'application/json',
},
})
.then((res) => res.json())
.catch((error) => console.error(`Error: ${error}`))
.catch((response) => console.log(`Success: ${response}`));
};
return {
email,
password,
submitForm,
};
},
};
</script>
以防万一这是我用 golang 制作的后端:
func Login(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
var u model.User
if err := json.NewDecoder(r.Body).Decode(&u); err != nil {
http.Error(w, "format incorrect of json", http.StatusBadRequest)
return
}
user, err := function.VerificationLogin(u.Email, u.Password)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
token, err := jwt.CreateToken(user)
if err != nil {
http.Error(w, "ups "+err.Error(), http.StatusBadRequest)
return
}
http.SetCookie(w, &http.Cookie{
Name: "token",
Value: token,
Expires: time.Now().Add(1 * time.Hour),
})
w.WriteHeader(http.StatusOK)
}
解决方案
推荐阅读
- python - 从 tar.gz 文件安装 PyQt5.15.4
- r - 使用其他两个列条件过滤重复数据
- python - 多处理代码运行速度比单线程代码慢得多
- c# - WebApi:放置列表
变量正确地转换为对象类型的属性 - php - 没有从 HTTP 版本重定向或规范到 HTTPS 主页
- minio - MINIO 是否可以设置在保留日期之后从对象的存储桶中自动删除?
- html - 我可以在 html 中获取老年循环的索引吗?
- c++ - 使用默认模板参数推断模板函数指针的模板参数
- php - php pg_fetch_array 只显示第一个结果
- html - 在Angular 10中拖放项目时如何保留表格行的样式?ng-德拉古拉