//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);
}
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
nodejs 如何在客户端处理 删除请求返回的数据,怎么得到一个jason的结果并处理呢,Unexpected end of JSON input
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注
引用 皆我百晓生 小程序回复内容作答:
在客户端处理删除请求返回的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数据并进行解析和处理。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
- ¥15 数字信号处理考试111
- ¥100 关于#audobe audition#的问题,如何解决?
- ¥15 allegro17.2生成bom表是空白的
- ¥15 请问一下怎么打通CAN通讯
- ¥20 如何在 rocky9.4 部署 CDH6.3.2?
- ¥35 navicat将excel中的数据导入mysql出错
- ¥15 rt-thread线程切换的问题
- ¥15 高通uboot 打印ubi init err 22