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,template_name,contexto)