我有一个id为"text"的文本区域,我用一个div的click事件切换文本区域显示在屏幕上,我有30个这样的div,最初,我用ajax调用的结果将textarea.value赋给我的fetch api,它基于一个唯一的id从服务器端的mongo获取数据。
有时候,当我在后台对我的update api进行ajax调用时,我作为数据发送给这个ajax调用的textarea.value与文本区域的更新文本不一样。
//client side
// called when any of the divs is clicked
$(".radius").on("click", function(event) {
//extracting the id from the class and using this id as the id of my data for my mongo
var st=event.target.classList[1].substring(0,7);
var num=parseInt(event.target.classList[1].substring(7));
var toadd="close-button"+num;
//console.log(num+"modal")
closeButton.classList.add(toadd);
$.ajax({type: "POST",
url: "/fetch",
async: true,
data: JSON.stringify({
id: num,
}),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success:function(result) {
input.value=result.text;
},
error:function(result) {
console.log("error")
}
});
modal.classList.toggle("show-modal");
});
// called when textarea is closed
function toggleModal1(event) {
var s1=closeButton.classList[closeButton.classList.length-1];
var st=s1.substring(12);
closeButton.classList.remove(s1);
var num=parseInt(st);
// event.preventDefault();
console.log(input.value)
$.ajax({type: "POST",
url: "/update",
data: JSON.stringify({
id:num,
text:input.value,
//input is my textarea
}),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success:function(result) {
},
error:function(result) {
console.log("error")
}
});
modal.classList.toggle("show-modal");
}
//server side
app.post("/fetch",function(req,res)
{
//console.log(req.body);
// var id1=req.body.id;
const findInDB= Fruit.findOne({id:req.body.id},function (err, docs) {
console.log(docs);
res.send({text:docs.text});
});
});
app.post("/update",function(req,res)
{
Fruit.updateOne({id:req.body.id},
{text:req.body.text}, function (err, docs) {
if (err){
console.log(err)
}
else{
console.log("Updated Docs : ", docs);
}
});
我试着调试我的代码,但无法推理出控制台的内容。
1条答案
按热度按时间cbeh67ev1#
您在客户端代码中引用了
input
,但我在代码中的任何地方都没有看到它。您能检查一下吗?更新:
我作为数据发送到这个ajax调用的textarea.value与文本区域更新后的文本不一样。
我假设你在与
input
相关的代码中有一个错误,如果你能把它添加到你的答案中,会更容易帮助你。