//delete 这里是我的服务器端nodejs 请求删除的代码
//根据型号查询的结果返回并显示
app.post('/delete',urlencodedParser,function(req,res){
console.log("delete...");
var val = req.body;
var jobname = val.jobname;
console.log("jobname:" + jobname);
pool.getConnection(function(err,connection){
if(err){
res.send('Can not connect to MySql DB');
return console.log(err);
}else{
var infomation;
var dataFailed= {result:false,
msg:'删除失败'};
connection.query("delete from info where jobname = ? ",jobname,function(err,result){
if(err){
infomation='Search failed';
res.send(JSON.stringify(dataFailed));
}
if(result.affectedRows !== 1 ){
console.log('删除失败');
res.send(JSON.stringify(dataFailed));
}else{
console.log("删除成功!");
var data= {result:true,
msg:'提交成功'};
res.send(JSON.stringify(data));
}
})
}
});
});
//这里是我的html页面 javascript onclick的事件
//根据jobname删除对应的记录
function deleteResult(){
var obj={
name:document.getElementById("jobname").value,
};
if(obj.name==""){
document.getElementById("myspan").innerText = "*请填入你要删除的型号";
return;
}
var form1 = document.getElementById("form1");
form1.method = "post";
form1.action = "/delete";
form1.target = "iframeContent";
form1.submit();
//客户端这里该怎么写呢 怎么才能获取从从服务器返回过来的jason数据并解析呢,谢谢
//客户端这里该怎么写呢 怎么才能获取从从服务器返回过来的jason数据并解析呢,谢谢
//客户端这里该怎么写呢 怎么才能获取从从服务器返回过来的jason数据并解析呢,谢谢
//客户端这里该怎么写呢 怎么才能获取从从服务器返回过来的jason数据并解析呢,谢谢
我有iframe隐藏域,但是结果一直为空,
//const response = JSON.parse(result);
//alert("result" + result);
//alert("res:" + res);
}
引用 皆我百晓生 小程序回复内容作答:
在客户端处理删除请求返回的JSON数据,你可以使用XMLHttpRequest对象发送异步请求,然后在其回调函数中处理返回的数据。
首先,你需要修改HTML页面的deleteResult函数,将异步请求发送到服务器:
function deleteResult() {
var obj = {
name: document.getElementById("jobname").value,
};
if (obj.name == "") {
document.getElementById("myspan").innerText = "*请填入你要删除的型号";
return;
}
var xhr = new XMLHttpRequest();
xhr.open('POST', '/delete');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
if (response.result) {
// 删除成功
console.log(response.msg);
} else {
// 删除失败
console.log(response.msg);
}
} else {
// 请求失败
console.log("请求删除失败");
}
}
};
xhr.send(JSON.stringify(obj));
}
在上述代码中,我们使用XMLHttpRequest对象创建一个POST请求,发送到服务器的/delete
路径。请求头部设置为Content-Type: application/json
以便服务器可以正确解析请求体。然后,我们指定一个回调函数,当请求状态发生变化时,会调用该函数。当请求完成(readyState
为XMLHttpRequest.DONE)时,我们根据响应的status
来判断请求是否成功。如果成功,我们将返回的JSON数据解析为JavaScript对象,并根据返回的结果进行相应的处理。
另外,你还需要将服务器的响应头部的Content-Type设置为application/json
,并使用JSON.stringify()
将要发送的JSON对象转换为字符串。
在服务端修改代码如下:
app.post('/delete', urlencodedParser, function(req, res) {
console.log("delete...");
var val = req.body;
var jobname = val.jobname;
console.log("jobname:" + jobname);
pool.getConnection(function(err, connection) {
if (err) {
res.send('Can not connect to MySql DB');
return console.log(err);
} else {
var dataFailed = {
result: false,
msg: '删除失败'
};
connection.query("delete from info where jobname = ? ", jobname, function(err, result) {
if (err) {
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(dataFailed));
} else if (result.affectedRows !== 1) {
console.log('删除失败');
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(dataFailed));
} else {
console.log("删除成功!");
var data = {
result: true,
msg: '提交成功'
};
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(data));
}
})
}
});
});
在上述代码中,我们使用res.setHeader('Content-Type', 'application/json')
将响应头部的Content-Type设置为application/json
,并使用JSON.stringify()
将返回的JSON对象转换为字符串。
这样,客户端就可以接收到服务器返回的JSON数据并进行解析和处理。
【相关推荐】