如何将参数发送到ajax的错误函数?

时间:2018-02-09 12:25:53

标签: javascript python jquery ajax django

我有一个问题。如何将参数发送到ajax的错误函数?有可能吗?

现在我尝试使用下一个代码:

$.ajax({
    url: btn.attr("data-url"),
    type: 'get',
    dataType: 'json',
    error: function (xhr, ajaxOptions, thrownError, data) {
        if(xhr.status==403) {
            location.href = '/documents/'+data.current_category+'/';
        }
    },
});

在浏览器控制台中,我看到下一个错误:

TypeError: data is undefined

我在Django项目的views.py文件中创建的数据属性:

class DocumentCreate(PermissionRequiredMixin, CreateView):
    permission_required = ('documents.add_document',)
    raise_exception = True

    def get(self, request, *args, **kwargs):
        data = dict()
        # Some other code
        data['current_category'] = self.kwargs.get('category')
        return JsonResponse(data)

1 个答案:

答案 0 :(得分:0)

首先回到py do:

data['status'] = 'success'

data['status'] = 'error'

在你的ajax中:

$.ajax({
url: btn.attr("data-url"),
type: 'get',
dataType: 'json',
done: function (data) {
    if(data.status === 'error') {
        location.href = '/documents/'+data.current_category+'/';
    }
    else if(data.satus === 'success') { // Do done... }
},

});