【问题标题】:django jquery post then loaddjango jquery post 然后加载
【发布时间】:2010-09-04 08:52:44
【问题描述】:

试图让我网站上的某个部分与facebooks wall post 的作用基本相同

用户看到一个框,他们在其中输入了一些关于他们的感受的信息,然后我使用jQuery $.post 方法提交数据,然后我想检索新数据。

目前这就是我所拥有的。

<script type="text/javascript">

    $("#testform").submit(function(){
        $.post("/wall/new/", $("#testform").serialize());
        $('#id_text').val('');
        $(this).ajaxComplete(function() {
            $('#news').load('/wall/');
        });
        return false;

    });
</script>

然后 HTML 看起来像这样

<div id="news">
    <h4>{% trans "News feed" %}</h4>

    <form method="post" action="/wall/new/" id="testform">
        <textarea id="id_text" class="wall-input" style="max-height: 100px;" rows="1" name="text"></textarea>

        <input type="submit" value="{% trans 'share' %}" class="blue" id="submit-wall"/>
        <div class="clearfix"></div>
    </form>
</div>

【问题讨论】:

  • 我不知道您面临的具体问题是什么。您提供的代码看起来不错;是不是不行?
  • 您可能有理由首先发布然后获取数据,但我会避免这样做。为什么不做一个 POST,看看它是否返回 OK,如果它只是附加用户直接在 HTML 中使用 jQuery 提供的数据。您可以为每个帖子保存一个请求,但这种方法并不总是很方便(例如,如果您需要处理数据服务器端)

标签: django jquery jquery-load jquery-post


【解决方案1】:

$.get 似乎解决了这个问题

$(this).ajaxComplete(function() {
    $.get('/wall/', { user:'myuser'}, function(data){
        $('#news').html(data);
    });
});

【讨论】:

    【解决方案2】:

    除非您热衷于自己处理所有 AJAX 细节,否则请查看jQuery taconite plugin。它使fire-and-forget AJAX 功能的实现变得微不足道。

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多