【发布时间】:2018-12-07 14:23:33
【问题描述】:
当对象值使用 AJAX 删除功能以表单显示时,我试图从 json 文件中删除该对象。我正在使用 express 为 json 文件生成路由,如下所示:
app.get('/users', (req, res) => {
var userData = json;
res.send(userData);
}),
app.delete('/users/delete/:id', (req, res) => {
var key = req.params.id;
var deletedData = json;
deletedData.splice(key, 1);
res.send(deletedData);
});
$(document).on('click', '#delete', function () {
$.ajax({
type: "DELETE"
, url: "users/delete/"+data[key]
, datatype: "datatype"
, success: function (data) {
console.log(data);
}
});
});
我知道我没有声明数据[key],这只是我想做的事情的上下文。我的问题是尝试选择特定的 json 对象,而不仅仅是选择第一个对象,我现在拥有“users/delete/0”,有人知道该怎么做吗?
编辑
我正在尝试获取特定于在我的 html 表单中显示的对象的“用户/删除/:id”
<div class="col-md-5 col-sm-12">
<div id="full_details">
<ul class="details">
<h2>Contact Details</h2> <img src="" alt="Avatar" id="avatar">
<li>Name
<input type="text" id="name" class="form-control mr-sm-2" disabled>
</li>
<li>Address
<input type="text" id="address" class="form-control mr-sm-2" disabled>
</li>
<li>Contact Number
<input type="text" id="phone" class="form-control mr-sm-2" disabled>
</li>
<li>Email
<input type="text" id="email" class="form-control mr-sm-2" disabled>
</li>
<li>Postcode
<input type="text" id="postcode" class="form-control mr-sm-2" disabled>
</li>
<li>City
<input type="text" id="city" class="form-control mr-sm-2"disabled>
</li>
<li>Country
<input type="text" id="country" class="form-control mr-sm-2" disabled>
</li>
<div class="row">
<div class="col-md-6">
<div id="editbutton">
<p class="btn btn-primary">Edit Details</p>
</div>
</div>
<div class="col-md-6">
<div id="savebutton">
<p class="btn btn-danger">Save Details</p>
</div>
</div>
<div class="col-md-6">
<div id="delete">
<p class="btn btn-danger">delete</p>
</div>
</div>
</div>
</ul>
</div>
</div>
【问题讨论】:
-
我不确定我是否理解这个问题。你是什么意思我现在拥有的第一个对象?
-
如果我将“users/delete/0”作为 ajax 删除函数中的 url,它将删除我的 json 文件中的第一个对象,我试图让函数删除拉取的特定对象以这种形式是否有意义?
-
啊,是的。您需要遍历数组(我假设您的用户数据是一个数组)并找到具有匹配 id 的对象的索引,然后从该索引拼接。看看这是否有帮助:stackoverflow.com/questions/5767325/…
标签: javascript jquery json ajax express