gpt4 book ai didi

jquery - 如何获取jquery ajax响应中的Id值?

转载 作者:行者123 更新时间:2023-12-01 04:06:22 26 4
gpt4 key购买 nike

在 Django 应用程序中,我想在 ajax 响应中获取 ID 值:

views.py

def like_piccomment(request, cid):
if request.method == 'POST':
the_comment = PicComment.objects.get(id= cid)
the_photo = the_comment.pic
who_liked = request.user.id

if PicCommentLike.objects.filter(liker=who_liked, liked=cid):
the_comment.likes -=1
the_comment.save()
PicCommentLike.objects.filter(liker=who_liked, liked=cid).delete()

else:

the_comment.likes +=1
the_comment.save()
newliker = PicCommentLike(liker=who_liked, liked=cid)
newliker.save()

args = {}
args.update(csrf(request))
args['likes'] = the_comment.likes
args['cid'] = cid
return render_to_response('userpics/likes.html', args)

喜欢.html

{% if likes > 0 %}
{{likes}}
<i id="{{cid}}">liked</i>
{% else %}
<i id="{{cid}}">No one liked yet</i>
{% endif %}

并将 ajax 响应传递给此 jquery likeSuccess 函数:

<script>

//ajax send function which works fine

//deal with ajax response
function likeSuccess(data, textStatus, jqXHR) {
//these lines don't work
var cid = $(data).find("#id").text();
$('#'+ cid).html(data);

alert("dom id:" + cid); //just to check }

</script>

困难在于从模板中获取 ID 值,以便 ajax 响应仅出现在相关的 id 上。

我是jquery菜鸟,尝试了很多不同的解决方案,但没有一个有效。感谢您的提示。

最佳答案

供您引用,请查看此 http://jsfiddle.net/imvinay/eqjes7ua/ ...

我最近遇到了这样的问题...但是我使用了jquery的post方法。

您可以从 View 中创建响应并按如下方式发送

return HttpResponse(json.dumps({'message': 'success','something':'message'}))

jquery 会是这样的

  $(".likecomment").click(function() {
var $this = $(this);
var cid = $this.attr('id');
$.post('/pic/like_comment'+cid, $(this).serialize(), function(data){
result = JSON.parse(data);
if(result.message == 'success')
{
yourfunction();
}

});
});

关于jquery - 如何获取jquery ajax响应中的Id值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com