提交Ajax时出现500个内部服务器错误

时间:2019-01-04 15:51:39

标签: ajax django

提交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条代码的更多详细信息?

谢谢!

1 个答案:

答案 0 :(得分:0)

我无法将Jsonresponse导入视图!

从django.http导入JsonResponse