javascript - 当 axios 请求 Http 请求,但 url 改变并创建 [object%20Object]
问题描述
我想通过 Axios 到 Django View 的 http 请求删除我的 Django DB 中的一个对象。但是 POST url 被添加了一个奇怪的东西,[object%20Object]。这似乎是转换的问题,但我不明白为什么会发生这种情况。我做错了什么?
这是 axios 的一部分。
<script>
// Delete review
const deleteBtns = document.getElementsByClassName("delete");
function handleClickDelete(event){
event.preventDefault();
const deleteBtn = event.target;
const pk = deleteBtn.value;
const review = document.getElementById(`${pk}`);
review.hidden = true
axios.post({
url:"{% url 'reviews:delete' %}",
data:{
"pk": pk
}
})
.then(res => alert("the review is deleted!"))
.catch(errors => console.log(errors.response.data));
}
for (const deleteBtn of deleteBtns) {
deleteBtn.addEventListener("click", handleClickDelete);
}
</script>
Django urls.py
app_name = "reviews"
urlpatterns = [
path(
"api/<int:pk>/review/create/",
review_views.create_review,
name="create",
),
path(
"api/review/delete/",
review_views.delete_review,
name="delete",
),
path(
"api/review/update/",
review_views.update_review,
name="update",
),
]
和 view.py
def delete_review(request):
if request.method == "POST":
pk = request.POST.get("pk")
review = models.Review.objects.get(pk=pk)
review.delete()
return JsonResponse({"status": "Success"})
解决方案
推荐阅读
- javascript - 每当发生错误时,NodeJs 应用程序“挂起”或“冻结”
- python - 从 go 调用 python 回调指针
- laravel - 验证令牌标头 Laravel JWTAuth
- sql - 订阅中的 SQL 动态文件名
- entity-framework-6 - 具有自动 CRUD 日志记录的数据库优先方法
- android - 如何在android中使用jsoup从html中提取特殊数据
- c++ - C++ 关闭 Boost ASIO SSL 套接字的最佳方法是什么?
- asp.net-core - 带有 XmlDocument 的 ASP.NET Core OkObjectResult 忽略接受标头
- assembly - 在 8086 的汇编中将字节的高部分与低部分交换
- amazon-web-services - 负载均衡器 AWS 配置