Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

236
Visualizações
How to Parse LocalStorage JSON object in Django View from Ajax?

I am trying to submit localstorage data via a POST request using the below jquery ajax method. How should I write my view so I can Parse my JSON object and get a hold of "product_id" to execute the below command in my Django view. Please see a copy of my view below.

Trying since one week, but I failed to fix the issue

Is there any better way of achieving this ?

My Ajax:

   $(document).ready(function() {
        var compare = localStorage.getItem("comparisionItems");
        var compareObj = JSON.parse(compare);
        
        var data_url = window.location.href;
        console.log(compare)
        console.log(compareObj)
        
       
          
          $.ajax({
            url: data_url,
            type: "POST",
            data: {'compare_id': compareObj },
            headers: { "X-CSRFToken": $.cookie("csrftoken") },
            success: function (result) {
                console.log("Success")
                
            },
        
            
        });
    });

and My Views:

def compare(request):
is_ajax = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
if is_ajax and request.method == "POST":
    compare_id= request.POST.getlist('compare_id[itemIds]')
   
    product = get_object_or_404(Products, id=compare_id)
    context={ 'product':product}
   
   
    return render (request, './compare.html', context)

Actually my localStorage is on following format:

("comparisionItems"({ images: products, itemIds: itemIds }));

Can you please help me how can I pass itemIds to views and return item from views for the itemsIds?

Console log for console.log(compareObj) https://imgur.com/MxdZrgy

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

since .is_ajax() is deprecated you cant use that, but you can check if the request is an XMLHttpRequest like below.

from django.shortcuts import get_object_or_404

def compare(request):
    is_ajax = request.headers.get('X-Requested-With') == 'XMLHttpRequest'
    if is_ajax and request.method == "POST":
        compare_id = request.POST.get('compare_id')
        product = get_object_or_404(Products, product_id=id)
        context={ 'product':product,}
        return render (request, './ecommerce/compare.html', context)

note; the get_object_or_404 is just a shortcut for:

try:
    product = Products.objects.get(product_id=id)
except:
    raise Http404
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda