【发布时间】:2020-09-01 23:22:18
【问题描述】:
在我的 django 站点中,我有一个 API 视图,它应该在调用时增加一个整数字段。但是,ajax 调用说视图是无效的 url。我曾尝试多次更改网址并更改视图。
这是我的 javascript ajax 调用
function post_(amount){
return $.ajax({
url: '127.0.0.1:8000/increment/',
type: "POST",
data: {
"amount": amount,
"user": "{{ user.username }}",
},
dataType: "json",
success: function (data) {
console.log(data);
},
error: function (error) {
console.log("Error Message: ");
console.log(error);
}
});
}
这是这个 ajax 函数应该调用的 django 视图
@api_view(['POST'])
def Increment(request):
amount = request.data['amount']
#username_m = request.data['user']
#profile = Profile.objects.filter(user=username_m)
profile = get_object_or_404(Profile, user=request.user)
print(profile)
profile.coins += amount
profile.save(update_fields=['coins'])
return Response({"message": "Got some data!", "data": request.data})
这是我的 urls.py
urlpatterns = [
path('increment/', views.Increment, name='increment'),
]
谢谢
【问题讨论】:
-
将 url: '127.0.0.1:8000/increment/' 改为 url: '/increment/',并返回 JsonResponse insted of Response
标签: javascript python django ajax django-views