我有一个表单,我正在尝试使用AJAX调用进行内联编辑和添加。
首先,我在HTML表格中显示数据。然后如果在文本框中输入数据并单击添加按钮记录,则在HTML表格中添加显示数据。点击文本框中显示的编辑按钮数据后。
但我将ajax响应作为DELETE Inscriptions
FROM Inscriptions
INNER JOIN Students on Students.Id = Inscriptions.StudentId
where Inscriptions.StudentId = 149
DELETE FROM[dbo].Certifications
Where StudentId = 149
DELETE FROM[dbo].Students
WHERE Id = 149
。
我无法弄清楚。
这是我的AJAX代码PHP文件:
null
这是AJAX正在调用的文件:
$(function() {
$(".scrollingTable tbody a").click(function() {
//debugger;
var link = $(this).attr('href');
var arr = link.split('=');
var id = arr[1];
//alert(id);
$.ajax({
url: "insertgr.php",
type: "POST",
data: {
cntid: id
},
success: function(datas) {
var data = $.parseJSON(datas);
$("#num").val(data.id);
$("#namegr").val(data.vndr_cntname);
$("#designation").val(data.designation);
$("#mobilegr").val(data.vndr_cntmobile);
$("#maildgr").val(data.vndr_cntmail);
}
});
});
});
$(function() {
$('.txtcbt a').click(function() {
debugger;
var cntname, designation, mobile, email, vndrid, id, cid;
cid = $("#num").val();
cntname = $("#namegr").val();
designation = $("#designation").val();
mobile = $("#mobilegr").val();
email = $("#maildgr").val();
vndrid = "<?php echo $selectid; ?>";
//alert(cid);
if (cntname == "" || designation == "" || mobile == "" || email == "") {
alert("fields should not be empty");
} else {
$.ajax({
url: "insertgr.php",
type: "POST",
data: {
id: cid,
name: cntname,
dgnation: designation,
mobileno: mobile,
emailid: email,
vid: vndrid
},
success: function(html) {
var dat = $.parseJSON(html);
alert(html);
alert("it came to success");
$("#num").val("");
$('#namegr').val("");
$('#designation').val("");
$('#mobilegr').val("");
$('#maildgr').val("");
}
});
}
});
});
答案 0 :(得分:1)
可能有很多方法无法正常工作。
<强>首先:强>
你需要在你的php中放一个application/json
,这样它就可以与你正在使用的浏览器兼容。
header('Content-Type: application/json');
echo json_encode($row);
<强>第二强> 你为什么要做一个while循环并将它分配给一个未使用的变量?
您可以通过以下方式简化:
$row = mysqli_fetch_array($result);
header('Content-Type: application/json');
echo json_encode($row);
除非是多行,否则:
$rowcount = mysqli_num_rows($result);
$rows = array();
if ($rowcount > 0) {
while ($row = mysqli_fetch_array($result)) {
$rows[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode($row);
<强>第三强>
当您尝试使用的变量未初始化时,通常会显示null
个值。通过关闭error_reporting,它不会显示错误。
error_reporting(true);
<强>四强>
还要检查日志中是否存在数据库错误,我认为它与MySQL查询有关,而不必进行$row
初始化。
<强>第五强>
我相信你需要将它作为关联数组取出才能使它有用
$row = mysqli_fetch_assoc($result);