![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
19/02/2015, 12:11
|
| | Fecha de Ingreso: septiembre-2014
Mensajes: 40
Antigüedad: 10 años, 4 meses Puntos: 0 | |
JSON response Hola!
Estoy teniendo un problemilla al enviar un json a una función javascript.
Estoy utilizango Django 1.7 y en views he puesto este código:
id_producto = request.POST['product_id']
p = Pozo.objects.get(pk=id_producto)
mensaje = {"status":"True","product_id":p.id}
p.delete() # Eliminamos objeto de la base de datos
return JsonResponse(mensaje)
El código lo que hace es borrar un registro de la base de datos y una vez está eliminado envia un Json a la función JS.
En el json envio un mensaje con este contenido: {"status":"True","product_id":p.id}
Y la función JS dice lo siquiente:
// 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);
});
Entonces al ser la respuesta True debería aparecer un alert diciendo eliminado, pero no ocurre así. Me sale una pantalla con status= True, pero ni rastro del alert.
Hay algo que no estoy haciendo bien, me falla algo a la hora del envío del status o al recogerlo.
Alguien sabe porque no me funciona?
Muchas gracias de antemano!
Última edición por elcaiaimar; 19/02/2015 a las 12:18 |