提交ajax调用时出现500错误。我想知道您是否可以帮助我找出原因。
请注意,csrf_token已添加到单独javascript上的数据中(使用此页面的“ AJAX”部分下的代码:https://docs.djangoproject.com/en/dev/ref/csrf/#ajax)。我的理解是,如果csrf_token存在问题,将引发403错误。
模板
<form class="userorder" method='POST' action='.' data-url='{{ request.build_absolute_uri|safe }}'>
{{ form.non_field_errors }}
{% csrf_token %}
{{ form.couponcode.errors }}
<div class="coupon_message"></div>
<div id="couponcodevalue">{{form.couponcode}}</div>
<div id="couponcodeapply">Apply</div>
<button type="submit">Submit</button>
</form>
JavaScript
<script>
$("#couponcodeapply").click(function(){
var coupon = $("#id_couponcode").val()
var data = {coupon: coupon,}
$.ajax({
type: "POST",
url: "/getcoupon/",
data: data,
success: function(data) {
$("#coupon-message").text("Coupon Added")
},
error: function(response, error) {
$("#coupon-message").text("Coupon Not Added")
}
})
});
</script>
views.py
def getcoupon(request):
print("I am in getcoupon")
if request.is_ajax():
message = "hi"
data = {
'message': message,
}
return JsonResponse(data)
控制台(Chrome)中的错误
jquery.min.js:4 POST http://localhost:8000/getcoupon/ 500 (Internal Server Error)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
(anonymous) @ (index):1636
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
有什么方法可以获取有关为什么抛出这500条代码的更多详细信息?
谢谢!
答案 0 :(得分:0)
我无法将Jsonresponse导入视图!
从django.http导入JsonResponse