samedi 2 octobre 2021

Can't respond to AJAX call on context processor

I'm developing a website on DJANGO and I'm facing a problem:

I have a button in my website that, when triggered, sends an AJAX POST request. Since this button is in multiple places of my website, i've decided to receive the AJAX request on the context processor file of my backend.

This is what the request in the frontend looks like:

$.ajax({
    method: 'POST',
    headers: {'X-CSRFToken': csrftoken},
    data: {
        "requested_item": requested_item
    },
    dataType: "json",
    success: function() {
      // Handle success
    }
  });

And this is what the request handling looks like in the backend:

requested_item = request.POST.get('requested_item')
    if requested_item != None:
      # Handle valid request
      return JsonResponse({'success': True})

The thing is, the return JsonResponse({'success': True}) isn't working, it throws this error:

File "*path*\virtual-env\lib\site-packages\django\template\context.py", line 244, in bind_template
    updates.update(processor(self.request))
ValueError: dictionary update sequence element #0 has length 17; 2 is required

The data arrives without any trouble from the frontend to the backend, but I can't seem to respond.

I'm handling multiple AJAX requests the same way in my backend and responsing without problems, but this is the only one I handle in the context processor, so I'm sure there's something I'm missing.

Thanks!




Aucun commentaire:

Enregistrer un commentaire