我在php中有一个代码,它生成一个按钮并在另一个文件中有一个java脚本函数,但是它不能工作,我应该发送值$ id来更新数据库php文件,但是它什么也不做。
索引代码:
<button type="button" class="btn btn-primary" onclick="antenderOrden($folio)">Atender</button>javascript代码:
function atenderOrden(folio) {
$.ajax({
type: 'post',
url: '../panel/data.php',
data: 'folio=' + folio + 'status=A',
success: function (data) {
location.reload();
}
});
}php代码:
//Actualiza el estatus de un registro de orden en la base de datos
if (isset($_POST['folio']) && isset($_POST['status'])) {
$obj = new Orden();
$resp = $obj->updateOrden($_POST['folio'], $_POST['status']);
echo $resp;
}
class Orden{
public function updateOrden($folio, $status) {
//$conn = new Conexion();
$conn->conectar();
$query = "UPDATE c_ordenes SET statuso = '$status' WHERE folio = '$folio'";
try {
$resp = $conn->consulta($query);
$resp = "OK";
} catch (Exception $ex) {
$resp = $ex;
}
$conn->cerrar();
return $resp;
}
}发布于 2018-10-31 06:13:09
您需要添加&以加入最后一个键=>值。
data: 'folio=' + folio + '&status=A',根据我的注释,在onclick中传递的变量应该用引号包装,否则javascript会将其视为javascript变量,并在控制台中返回一个未定义的变量错误。
<button type="button" class="btn btn-primary" onclick="antenderOrden('<?php echo $folio; ?>')">Atender</button>此外,您还应该使用准备好的语句来防止SQL注入攻击。
快速开始使用准备好的语句
发布于 2018-10-31 06:10:14
您需要将它作为对象发送到ajax:
...
data: {'folio': folio,'status':'A'},
...并更新按钮,将php变量回显到html中。
<button type="button" class="btn btn-primary" onclick="antenderOrden('<?=$folio;?>')">Atender</button>发布于 2018-10-31 06:40:11
javascript代码
function atenderOrden(folio) {
$.ajax({
type: 'post',
url: '../panel/data.php',
data: {
folio : folio ,
status : 'A'
},
success: function (data)
{
location.reload();
}
});
}索引码
<button type="button" class="btn btn-primary" onclick="antenderOrden(<?php echo $folio;?>)">Atender</button>https://stackoverflow.com/questions/53077240
复制相似问题