django ajax提交评论并自动刷新功能的实现代码

在试了很多次了,终于搞定了,上代码吧。(我用的是jQuery的ajax,不是原生的)

js代码:

<script> $(document).ready(function () { getcomment(); $('.comment-box button').click(function () { var comment_text = $('.comment-box textarea').val(); $.ajax({ type: 'POST', url: '/bbs/article/{{ article_list.id }}/comment/', data: {comment: comment_text}, success:function (callback) { var data = $.parseJSON(callback); $('.callback').html(data.result); if(data.result === 'successfully') { getcomment(); } } }) }); }); function getcomment() { $.ajax({ type: 'GET', url: '/bbs/article/{{ article_list.id }}/get_comment/', success:function (call) { var datas = $.parseJSON(call); $('.comment-list').html(datas.answer); } }) } </script>

在全文加载后调用getcomment()函数,从数据库中获取评论,自己写的评论提交后再次调用getcomment()函数,自动刷新

html模板(用到是bootstrap模板):

<div class="row"> <div class="comment-list" style="margin-left: 10px"> </div> </div> <div class="row"> <article class="col-xs-12"> <h4>请评论:</h4> <div class="comment-box"> <textarea class="form-control" rows="3"></textarea> <span class="callback"></span><button type="submit" class="btn btn-success pull-right" style="max-width: 5px;">评论</button> </div> </article> </div> <hr>

视图函数:

@csrf_exempt def comment(request,article_id): if request.method == 'POST': comments = request.POST['comment'] if len(comments) < 5: result = u'评论数需大于5' return HttpResponse(json.dumps({'result': result})) else: result = 'successfully' Comment.objects.create(content= comments, article_id=article_id) return HttpResponse(json.dumps({'result': result}))

这是提交评论的函数,别忘记添加csrf装饰器

def get_comment(request, article_id): article_list = get_object_or_404(Article, id=article_id) comments = article_list.comment_set.all() html = '' for i in comments: ele = '<div class="row"><article class="col-xs-12"><p class="pull-right"><span class="label label-default">作者:' + 'i.user' + '</span></p><p>' + i.content + '<ul class="list-inline"><li><a href="#" rel="external nofollow" ></a></li></ul></article></div><hr>' html += ele return HttpResponse(json.dumps({'answer': html}))

后台获取评论的函数。

最后将textarea的值清空:

function resettext() { $('.form-control').val(''); }

以上所述是小编给大家介绍的django ajax提交评论并自动刷新功能的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-07-30 15:47:38

django ajax提交评论并自动刷新功能的实现代码的相关文章

WordPress Ajax 提交评论的实现思路与方法

 虽说现在访问量一直比较低,不存在服务器压力的问题,但一向注重用户体验的我,当然不能放弃这么一个提升用户体验的机会.今天抽了一下午的空,把这个主题的 Ajax 评论提交初步完成了. 直接开门见山,直接上代码:(原理及思路在最后) 根据自己主题不同结构,以下代码请自行调整. WordPress Ajax 提交评论 PHP 代码 在主题 function.php 文件中加入如下部分.  代码如下 复制代码 //以下大部分代码出自 yinheli 经由该部分代码,排除部分错误.优化精简得出以下代码.

jQuery ajaxSubmit 实现ajax提交表单局部刷新_jquery

AJAX简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. 需要引入 : jquery-form.js 使用说明: Java代码 $(document).ready(function() { var options = { target: '#mydiv', // 需要刷新的区域

ajax 框架autocompleteextender实现自动完成功能

ajax 框架autocompleteextender实现自动完成功能 需要一个WebService 我也懒得改名子,就直接叫WebService.asmx; 为什么要用WebService? 其实我也不太清楚,只知道AutoCompleteExtender需要三个最为关键的属性: ServicePath="WebService.asmx"  ServiceMethod="GetWordList" TargetControlID="txtText"

三星G6000如何开启天气自动刷新功能?(Galaxy On7)

注:请先为天气小组件添加城市.  1.在待机页面下,点击天气小组件.    2.点击[更多].    3.点击[设定].    4.点击[自动刷新].    5.选择更新频率,如[每3个小时].    6.阅读"在后台传输数据"的说明后,点击[确定].    7.自动刷新功能已开启.在联网的情况下,天气情况每3小时会自动刷新.    好了设置好了之后各位会发现一个问题就是天气会自动更新了,到此关于天气自动刷新的内容就全部介绍到这里了.

Ajax提交表单页面刷新很快的解决方法

注:使用ajax 提交表单时 type类型最好不用submit 用button合适 <form> <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3"> <input type="button" class="btn btn-info" value="重置" onclick="return resetaa()">

JS实现仿百度输入框自动匹配功能的示例代码介绍

 本篇文章主要是对JS实现仿百度输入框自动匹配功能的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 现在很多网站都有这种效果,在文本框输入一个字符,下边会出来相匹配的内容,这个代码就演示了这个功能是如何完成的,当然,这是个静态的,你可以将提示的内容从数据库读取出来,要用到AJAX那东东.    代码如下: <HTML> <HEAD> <title>带输入匹配的文本框</title> <style> body,div { font

easyui combobox开启搜索自动完成功能的实例代码_javascript技巧

combo.json [{ "id":-1, "text":" ", "spell":"" },{ "id":1, "text":"类型1", "spell":"lx1" },{ "id":2, "text":"类型2", "spell&q

Opera浏览器如何开启自动刷新功能

  1.打开需要刷新的网页 2.之后我们在打开的页面,空白处,点击右键,找到网页重新载率(自动刷新速度设置)移动到该指令上,可以看到有30分钟.一小时等时间给我们选择 3.除了30分钟.一小时等时间之外,我们还可以进行自定义,在网页重新载率中有个自定义的选项,点击自定义,可以自己设置刷新的时间.

AJAX初级应用-RSS无刷新聚合器的代码与下载

ajax|rss|刷新|无刷新|下载 rss.js[复制此代码]CODE:<!-- //控制ID function getId(objId){     return document.getElementById(objId) } //链接对应数组,请注明转载自http://www.cnrui.cn/blog function urlArrary(urlName){     switch(urlName){         case "clear":             re