【发布时间】:2020-03-10 20:41:13
【问题描述】:
尝试通过 jQuery Ajax post 方法更新 SQL Server 中的删除标志。我不确定问题出在我的 PHP 还是 jQuery 代码上。当我按下删除按钮时,什么也没有发生,但网络开发工具并没有表明语法有任何问题。
这里是 HTML:
<div class='dialog' id='editForm' title='Edit' >
<form method='POST' id ='editFo' name = 'editFo' action='post' enctype='multipart/form-data'>
</form>
</div>`
这里是按钮的html:
<button id="deleteFormbtn" >Delete</button>
这里是 jQuery 代码:
$("#deleteFormbtn").click(function(){
$.post ( "deleteRow.php", $("#editForm: input").serializeArray(), function(data){
alert(data);
});
});`
这里是 PHP 代码:
`
require_once ('sql/connectionstring/connectionstring.php');
$conn = SQLServerConnection();
if(isset($_POST['vendor'])){
$loc_sql = "SELECT TOP 1 loc_id FROM <table> WHERE loc_name = ?";
$parms = array($_GET['loc']);
$loc = sqlsrv_query($conn, $loc_sql, $parms) or die (print_r ( sqlsrv_errors(), true));
while ($q = sqlsrv_fetch_array($loc)){
$loc_id = $q["loc_id"];
}
$username = $_POST['username'];
$password = $_POST['password'];
$comments = $_POST['comments'];
$vendor_website = $_POST['website'];
$vendor = $_POST['vendor'];
$query = "UPDATE <table> SET <column> = '0' WHERE <column> = ?";
$parms = $username;
$result = sqlsrv_query($conn, $query, $parms) or die (print_r ( sqlsrv_errors(), true));
sqlsrv_close($conn);
}
header('Location: <location>);
?>`
【问题讨论】:
-
您是否在开发工具/网络选项卡中看到 POST 请求或控制台中出现任何错误?
-
当我点击按钮时,控制台没有显示错误输出并且网络选项卡中没有任何反应
-
我怀疑这是您的第一个问题。将您的按钮更改为
<button type="button" id="deleteFormbtn">Delete</button>。因为页面正在重新加载,并且请求永远不会发送。 -
我已经进行了更改,但网络选项卡中仍然没有发生任何事情。
-
$("#editForm: input")是错误的选择器...你想序列化表单,所以使用这个选择器:$('#editFo')