Estoy intentando mandar un Json para que lo recoja mi funcion ajax, pero no hay manera.
Lo que obtengo al darle a mi botón eliminar (elimina un registro de la base de datos) es la página con el mensaje: {"status":"True","product_id":p.id}. Esto no debería salir, sino ser enviado a la función y aparecer un alert diciendo que el registro ha sido eliminado.
Estoy trabajando con django 1.7. Alguien sabría como solucionarlo? No entiendo por que mi función no coge el response y lleva a cabo su código.
Muchas gracias de antemano.
template:
Código HTML:
Ver original
views.py:
Código Python:
Ver original
if request.method=="POST": if "product_id" in request.POST: try: id_producto = request.POST['product_id'] p = Pozo.objects.get(pk=id_producto) mensaje = {"status":"True","product_id":p.id} p.delete() # Elinamos objeto de la base de datos return JsonResponse(mensaje) except: mensaje = {"status":"False"} return JsonResponse(mensaje)
Ajax.js:
Código Javascript:
Ver original
// Autor: @jqcaper // Configuraciones Generales var nombre_tabla = "#tabla_productos"; // id var nombre_boton_eliminar = ".delete"; // Clase var nombre_formulario_modal = "#frmEliminar"; //id var nombre_ventana_modal = "#myModal"; // id // Fin de configuraciones $(document).on('ready',function(){ $(nombre_boton_eliminar).on('click',function(e){ e.preventDefault(); var Pid = $(this).attr('id'); var name = $(this).data('name'); $('#modal_idProducto').val(Pid); $('#modal_name').text(name); }); var options = { success:function(response) { if(response.status=="True"){ alert("Eliminado!"); var idProd = response.product_id; var elementos= $(nombre_tabla+' >tbody >tr').length; if(elementos==1){ location.reload(); }else{ $('#tr'+idProd).remove(); $(nombre_ventana_modal).modal('hide'); } }else{ alert("Hubo un error al eliminar!"); $(nombre_ventana_modal).modal('hide'); }; } }; $(nombre_formulario_modal).ajaxForm(options); });