Sunday, October 25, 2020

Re: Error at the return of an AJAX POST in DJANGO





Sent from my Samsung Galaxy smartphone.


-------- Original message --------
From: Walter Randazzo <wwrandazzo@gmail.com>
Date: 10/25/20 6:10 PM (GMT-05:00)
To: django-users@googlegroups.com
Subject: Re: Error at the return of an AJAX POST in DJANGO

hi there,

As far as I check its OK.

Thanks for replay.



El dom., 25 oct. 2020 a las 18:43, rbar...@xcaretresearch.com (<rbarhydt@xcaretresearch.com>) escribió:
Not sure, but looks like an extra closing bracket in line 9 of the ajax code

On Sunday, October 25, 2020 at 2:05:28 PM UTC-7 wwran...@gmail.com wrote:
Hi buddies, I have a POST request from ajax. At the backend some records are updated in the django view, this is done fine but an error comes up and the page isnt reloaded.

**This is the error:**

> SyntaxError: Unexpected token O in JSON at position 0

**This is the ajax:**

    $.ajax({
    headers: { "X-CSRFToken": token },
    "url": '/articulos/massup/', "type": "POST",
    "dataType": "json", data: data,
    success: function(e){
    if(e="OK"){
    location.reload(true);
    }
    },
    error: function(a,b,c){
    alert(c);
    }
    });
    });

**Thi is the view:**

    @csrf_exempt
    def massup(request):
        template_name = "articulos/articulos_ok.html"  
        contexto={}  
        if request.method=="GET":  
            cat = Articulos.objects.all().order_by("codigo")  
            contexto={"obj":cat}  
        if request.method=="POST":  
            codigos=request.POST.getlist("codigos[]")
            porcentaje = codigos[0]#el primer elemento de la lista es el porcentaje
            porcentaje=Decimal(porcentaje)
            codigos= [int(x) for x in codigos]#Convierte la lista en integer
            art_change = Articulos.objects.filter(pk__in=codigos)
            i=0
            for item in art_change:
                if i!=0: #Excluye el primer item ( el porcentaje)
                    precioant=item.precio
                    precionuevo=(precioant + (porcentaje * precioant/100))
                    item.precio=precionuevo
                    item.save()
                i=i+1
            return HttpResponse("OK")
        return render(request

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/91f49db5-e89b-4df2-ab25-9ff61abec4bfn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAL7Dry6VivmQKU9sVwu%3Dhw9QXT35HUT7ySTZkAme3_AVu8Rb4w%40mail.gmail.com.

No comments:

Post a Comment