Hola, buenas estoy trabajando en un proyecto, y pues ahora tengo un problema. Tengo una tabla que se carga desde mysql:
* tengo una columna asignar que es un link, y tiene una llamada al método asignar y le envía el id del la fila seleccionada.
<table class="table table-bordered" id="todos" > <th>Numero inventario
</th> <!-- <th>Categoria</th>
<th>Estado</th>-->
<?php foreach ($lista as $activo) { ?>
<tr style="background-color:<?php echo $this->cycle(array("#F0F0F0", "#FFFFFF"))->next() ?>" >
<td><?= $activo["Id"] ?></td> <td><?= $activo["Numeroinventario"] ?></td> <td><?= $activo["Fechacompra"] ?></td> <!-- <td><?= $activo["Nombrecategoria"] ?></td>
<td><?= $activo["Nombreestado"] ?></td>-->
<td><?= $activo["Descripcion"] ?></td> <td><a class="btn btn-primary" onclick="asignar(''+<?= $activo['Id']; ?>)" >
<span class="glyphicon glyphicon-plus"> </span> Asignar
</a></td>
<?php } ?>
*Aqui el Script con la funcion asignar
function asignar(id)
{
var id1= id;
$.ajax({
type: "POST",
data: "id="+id1 ,
dataType: "html",
url: 'procesar.php',
beforeSend: function () {
// imagen de carga
$("#resultado").html("<p align='center'><img src='../../img/loading.gif' /></p>");
},
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
},
success: function (data) {
//
$("#resultado").empty();
$("#todos").empty();
$("#resultado").append(data);
}
});
}
procesar.php
$idActivo = $this->request->getPost("id");
$insert = $asignacion->asignar($idActivo, $documento, "2014-10-10");
no se que estoy haciendo mal pero cuando click en link Asignar me sale Internal Server Error [500].
Le agradecería mucho si alguien sabe que estoy haciendo mal.
creo que la data la estás pasando mal
tienes
$.ajax({
type: "POST",
data: "id="+id1 ,
dataType: "html",
url: 'procesar.php'
sin embargo la notacion JSON es así: (igual que la notacion del ajax que haces)
data: {id: id1}, //bien, objeto
data: "id="+id1 , //mal, sttring
ya que la data por post debe ser un objeto y no un string :P
intenta con eso y avisas...
por otro lado evita usar short tags
<?= ?>
a menos que realmente sepas qué estás haciendo y si el servidor y tus frameworks lo toleran correctamente
si aun con ese cambio no se arregla, crea un form y has la peticion manualmente para ver si da algún error en particular