如何使用jquery动态刷新和显示列表?
how to dynamically refresh and display the list with jquery?
我正在添加评论部分,但在显示它们时遇到了一些问题。这是我的省钱方法
[HttpPost]
public JsonResult AddComment(int id_usr,string comment)
{
if (ModelState.IsValid)
{
Comments kom = new Comments();
kom.DateComment = DateTime.Now;
kom.Id_usr = id_usr;
kom.Comment = comment;
db.Comments.Add(kom);
db.SaveChanges();
return Json(kom);
}
return Json(null);
}
获取评论值并点击保存
var url = window.location.pathname;
var idurl = url.substring(url.lastIndexOf('/') + 1);
$('#submit').click(function () {
console.log('click')
$.ajax({
url: '/form/AddComment',
method: 'POST',
data: {
comment: $("#Comments_Comment").val(),
id_usr: idurl,
},
success: function (data) {
console.log(data), //to this point all is working
我在列表中显示它的尝试如下所示:(只需要日期时间和注释文本)
$("#Comments2_Comment").empty();
data.forEach(function (item) {
var rows = "<ul>"
+ "<li>" + item.DateComment + "</li>"
+ "<li>" + item.Comment + "</li>"
+ "</ul>";
$('#Comments2_Comment').append(rows);
});
},
不幸的是它给了我:"TypeError: data.forEach is not a function"
它应该是什么样子?
我想要这样的东西
2019-06-19: qwertyu
2019-06-19: asdfghj
好的,这是您可以执行的操作的快速示例。我刚刚创建了一个 JSON 字符串并将其解析为一个用于演示的对象,但您可以使用自己的对象。然后你只需要使用 jQuery 的 $.each 循环遍历它就可以了。如果对您有帮助,请告诉我。
let data = '{"names":[{"name":"Michael S."},{"name":"Jim H."},{"name":"Pam B."}]}'
data = JSON.parse(data)
let str = '';
$.each(data.names, (key, val) => {
str += '<ul><li>' + val.name + '</li></ul>'
})
$('#myDiv').empty().append(str)
li {
background-color: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myDiv">
</div>
我正在添加评论部分,但在显示它们时遇到了一些问题。这是我的省钱方法
[HttpPost]
public JsonResult AddComment(int id_usr,string comment)
{
if (ModelState.IsValid)
{
Comments kom = new Comments();
kom.DateComment = DateTime.Now;
kom.Id_usr = id_usr;
kom.Comment = comment;
db.Comments.Add(kom);
db.SaveChanges();
return Json(kom);
}
return Json(null);
}
获取评论值并点击保存
var url = window.location.pathname;
var idurl = url.substring(url.lastIndexOf('/') + 1);
$('#submit').click(function () {
console.log('click')
$.ajax({
url: '/form/AddComment',
method: 'POST',
data: {
comment: $("#Comments_Comment").val(),
id_usr: idurl,
},
success: function (data) {
console.log(data), //to this point all is working
我在列表中显示它的尝试如下所示:(只需要日期时间和注释文本)
$("#Comments2_Comment").empty();
data.forEach(function (item) {
var rows = "<ul>"
+ "<li>" + item.DateComment + "</li>"
+ "<li>" + item.Comment + "</li>"
+ "</ul>";
$('#Comments2_Comment').append(rows);
});
},
不幸的是它给了我:"TypeError: data.forEach is not a function" 它应该是什么样子?
我想要这样的东西
好的,这是您可以执行的操作的快速示例。我刚刚创建了一个 JSON 字符串并将其解析为一个用于演示的对象,但您可以使用自己的对象。然后你只需要使用 jQuery 的 $.each 循环遍历它就可以了。如果对您有帮助,请告诉我。
let data = '{"names":[{"name":"Michael S."},{"name":"Jim H."},{"name":"Pam B."}]}'
data = JSON.parse(data)
let str = '';
$.each(data.names, (key, val) => {
str += '<ul><li>' + val.name + '</li></ul>'
})
$('#myDiv').empty().append(str)
li {
background-color: yellow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myDiv">
</div>