- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我修复了 like/unlike 函数,现在它们可以工作了,但是如果您在单击“Like”后单击“Unlike”(反之亦然)而不重新加载页面,则 post_id 和 post_type 不会传递到 View 。我尝试将它们传递到替换按钮的 html,我可以在新的 div 上看到它们,但也没有从那里传递到 View 。我不知道该怎么办,因为我不明白数据是如何丢失的。我还在替换 html 中放置了两个 div 标签,将 id 和 type 保存为值,因为我需要在替换 html 中使用一个脚本(不知道)才能使按钮正常工作。为什么JS无法从替换的html中抓取数据?
代码相当长,所以我提前道歉
feed.html(主 html 的片段)
<div class="like-stuff">
{% if not request.user|user_liked_post:post %}
<button class='like-post-btn' value="{{like_btn_val}}">
<span class="glyphicon glyphicon-thumbs-up"></span>
Like
</button>
{% else %}
<button class='like-post-btn' value="{{like_btn_val}}">
<span class="glyphicon glyphicon-thumbs-up"></span>
Unlike
</button>
{% endif %}
<div class="like-count">{{post.like_count}}<div>
{% if not request.user|user_disliked_post:post %}
<button class='dislike-post-btn' value="{{dislike_btn_val}}">
<span class="glyphicon glyphicon-thumbs-down"></span>
Dislike
</button>
{% else %}
<button class='dislike-post-btn' value="{{dislike_btn_val}}">
<span class="glyphicon glyphicon-thumbs-down"></span>
Undislike
</button>
{% endif %}
<div class="dislike-count">{{post.dislike_count}}</div>
</div>
<script src="static/js/handle_likes.js"></script>
likes.html(替换html)
<div id="post_id" value="{{post_id}}">id: {{post_id}}</div>
<div id="post_type" value="{{post_type}}">type: {{post_type}}</div>
<div class="like-stuff">
<button class='like-post-btn' value="{{like_btn_val}}">
<span class="glyphicon glyphicon-thumbs-up"></span>
{{like_btn}}
</button>
<h1>{{like_count}}</h1>
<button class='dislike-post-btn' value="{{dislike_btn_val}}">
<span class="glyphicon glyphicon-thumbs-down"></span>
{{dislike_btn}}
</button>
<h1>{{dislike_count}}</h1>
</div>
<script src="static/js/handle_likes.js"></script>
handle_likes.js(类似和不同的函数
$(".like-post-btn").on('click', function(){
console.log("Thing was clicked!"); // sanity check
if ($(".like-post-btn").val() == "not-liked") {
console.log($('.like-post-btn').val());
like_post();
}
if ($(".like-post-btn").val() == "is-liked") {
unlike_post();
}
});
// Start functions to handle likes/dislikes
function like_post(){
console.log("Like post called...") // sanity check
console.log("Test JQuery like post..");
console.log($("#post_id"));
console.log($("#post_type"));
$.ajax({
url: "posting/liking_post/",
data: {
post_id : $("#post_id").val(),
post_type : $("#post_type").val()
},
success: function(data) {
console.log(data);
$('.like-stuff').html(data);
},
error : function(xhr,errmsg,err) {
$('#results').html("<div class='alert-box alert radius' data-alert>Please contact an admin; We have encountered an error: "+errmsg+
" <a href='#' class='close'>×</a></div>"); // add the error to the dom
console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
}
});
};
function unlike_post(){
console.log("Unlike post called...") // sanity check
console.log("Test JQuery unlike post..");
console.log($("#post_id"));
console.log($("#post_type"));
$.ajax({
url: "posting/unlike_post/",
data: {
post_id : $("#post_id").val(),
post_type : $("#post_type").val()
},
success: function(data) {
$('.like-stuff').html(data);
},
error : function(xhr,errmsg,err) {
$('#results').html("<div class='alert-box alert radius' data-alert>Oops! Please contact an admin for we have encountered an error: "+errmsg+
" <a href='#' class='close'>×</a></div>"); // add the error to the dom
console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
}
});
};
View .py
@login_required
def like_post(request):
if request.is_ajax():
post_id = request.GET.get('post_id')
post_type = request.GET.get('post_type')
print("Debug in like_post line 452:",post_id, post_type)
if not post_id or not post_type:
raise Exception("Post id or Post type not passed to 'like post' please fix it")
post = toolz.get_post(post_id, post_type)
if not user_liked(request.user, post):
like = Like(
user=request.user,
content_object=post
)
like.save()
like_count = post.like_count + 1
post.like_count = like_count
print("Like count:", post.like_count)
post.save()
# Start data declarations
like_count = post.like_count
print(like_count)
dislike_btn = "Dislike"
dislike_btn_val = "not-disliked"
dislike_count = post.dislike_count
data = {
'post_id': post_id,
'post_type': post_type,
'like_count': like_count,
'like_btn': 'Unlike',
'like_btn_val': 'is-liked',
'dislike_btn':dislike_btn,
'dislike_btn_val': dislike_btn_val,
'dislike_count': dislike_count
}
return render(None, 'likes.html', data)
else:
return HttpResponse("You're trying to like the post twice...stop it")
else:
raise Exception("Not ajax")
最佳答案
Div 没有 value 属性(如 valid ),但如果您必须在 div 中使用 value,则可以使用 .attr('value')。
$('#post_id').attr('value')
$('#post_type').attr('value')
关于javascript - 为什么 JQuery 不传递替换 div 中的 post_id 和 post_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59805233/
我有以下 MySQL 命令: SELECT CASE WHEN pm.meta_key = 'webinar_date' AND pm.meta_value = '20190521' THEN pm.
我的 mysql 查询是: $query=('SELECT count(post_id) FROM comments where post_id='.$row['post_id']); $us
我想为新帖子创建 ID,例如 00001、00002,但是,同时我需要检索post_id来命名图片URL xxx/00001_1.jpg。那么我应该用 mysql(auto_increment) 还是
这是设置。 id ) . '">' ;?> Setting ';?> id ) . '">' ;?> Content ';?> jQuery(".rh_content[data-p
我创建了一个带有提货输入的表单,因此当用户输入德里机场作为提货位置并输入阿格拉作为投递位置时,它应该返回 post_ID = 2 但我已经使用 WHERE LIKE 进行了查询这导致所有 ID 在 p
我使用 mysqlnd 5.0.12-dev 数据库作为后端,我想返回每个 post_id 的 wp_productprofitability 中的最后一行。 我有以下设置: wp_post: +--
我正在使用 FBDialogs 共享一个链接,作为跟踪的一部分,我想将该共享帖子的 post_id 返回给服务器。 如何在成功时检索 post_id [FBDialogs presentShareDi
我正在尝试进行简单的 mysql 选择查询,我有 3 个表 post: post_id... tags: tag_id, tag_name post_tag: id_post, id_tag 然后我写
你好,我有一个 mysql 查询,它会根据状态的最大计数返回 post_id,它当前显示的结果是 POST_ID 3 Mysql 表: (`post_id`, `user_id`, `stat
谁能告诉我为什么我无法通过 post_id 从评论表中获得评论。 访问 token 是 [已编辑] post_id 是 100002553491860_419288394832940 帖子有一条评论,
所以我有不同用户的自定义帖子。 每个帖子都有以下元键: post_width , post_height以及常用数据,例如 title , description等如下图: $tags = $_POS
我有一个投票表,其中包含一个 post_id 列、一个 user_id 列和一个 vote 列。当有人为某个帖子投票时,会添加一行记录他们投票的帖子的 ID、他们的 user_id,并且 vote 列
我无法通过索引方法找到链接到特定帖子的出价。我已成功将我的出价链接到帖子(即我的出价表中有一个 post_id 列),但似乎无法“找到”它们。我目前收到错误消息“无法找到带有‘id’=”的出价 出价
我有一个类似下面的代码,我想在点击赞/评论/星时获取相应帖子的唯一post_id。 我添加了一个隐藏的输入标签来存储每个帖子的 post_id 的值,并在点击喜欢/评论/明星时尝试获取该值。但是我无法
所以我将使用带有帖子和评论的博客数据库模型的陈词滥调示例。 public class Post { public int Id { get; set; } public string Titl
我有一个评论系统,应该输入 id、idea_id、user_id、评论、数据和时间。一切似乎都有效,除了每次我发表评论时,idea_id 始终为 0。顺便说一句,一个想法基本上就是一个帖子。 我使用以
我有三个这样的表: // Posts_1 // Posts_2 // Posts_3 +----+---------+
我正在使用 laravel 5.5,我正在尝试向帖子添加评论,但在提交表单时出现以下错误 "SQLSTATE[23000]: Integrity constraint violation: 1048
WordPress 将帖子和帖子的特色图片视为两个单独的帖子,这似乎无法创建将帖子和帖子的图片 URL 放入同一行的 SELECT 查询,如下所示: post_id imageURL 100
我正在尝试使用 fb.ui 打开一个对话框,以便我的用户能够在他们的 friend 墙上发帖。我正在尝试 facebook 提供的最基本的示例: Post to Feed FB.init(
我是一名优秀的程序员,十分优秀!