gpt4 book ai didi

jquery ajax发布错误数据

转载 作者:行者123 更新时间:2023-12-01 06:42:00 26 4
gpt4 key购买 nike

我有一个表格:

<form id="deletesubmit" style="display:inline" >
<input style="width:50px" type="text" id="delcustomerid" name="delcustomerid" value="'.$row['customersid'].'">
<button type="submit" class="table-button ui-state-default ui-corner-all" title="delete"><span class="ui-icon ui-icon-trash"></span></button>
</form>

表单获取客户 ID 并将其作为值插入。它表明该行有正确的客户,一切都很好。然后,当我通过 ajax 发布表单时,它会以某种方式发布不同行的 id。这是脚本:

$("form#deletesubmit").submit(function () {

var delcustomerid = $('#delcustomerid').attr('value');
$.ajax({
type: "POST",
url: "delete/process.php",
data: "delcustomerid=" + delcustomerid,
success: refreshTable
});
return false;
});
});

最后这是发布表单的 php:

<?php include("../../config/config.php"); ?>
<?php
$deleteid = htmlspecialchars(trim($_POST['delcustomerid']));
mysql_send("DELETE FROM customers where id='$deleteid'");
?>

我已经在没有ajax的情况下测试了它,它工作得很好。一定有什么东西缺失了。它没有发布正确的值。花了几天时间试图解决这个问题。

最佳答案

通过使用 attr('value') 您正在提取原始值,这可能不是您想要的;使用 .val() 代替。此外,您还可以更轻松地设置通话:

$("form#deletesubmit").submit(function() {
var delcustomerid = $(this).find('#delcustomerid').val();
$.post( "delete/process.php", { delcustomerid: delcustomerid }, refreshTable );
return false;
});

最后,通过查看生成的 HTML 源代码,确保您的 PHP 输出正确的 id

另外,在 PHP 中:不要使用 htmlspecialchars 来转义 mysql。由于这应该是一个整数,因此您可以使用 int:

$deleteid  = (int) trim($_POST['delcustomerid']);
mysql_send("DELETE FROM customers where id='$deleteid'");

请记住,数组(如果有人将 deleteid[]= 传递到此页面)的计算结果将为 1。因此,要么在其中构建一个测试,要么只是确保该表中没有留下 id = 1。

关于jquery ajax发布错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com