0

从我的角度来看,我正在向 jquery 端发送一个变量。我想要的是在我的 js 文件中获取并使用该值。我试过 $.post 或 response.xx 但没有用。这是我的相关视图部分:

                try:
                    post = Post(title=title, body=body, isdraft=isdraft, owner=owner)
                    post.save()
                except:
                    post = None
                json_dump = simplejson.dumps(post.id)
                return HttpResponse(json_dump, mimetype='application/json')

我可以post.id在萤火虫的响应部分看到。但是我如何在我的 js 文件中使用该值。我想做的是:

        var auto_save_id = $('#auto_save_id').val();
        if (VALUE_FROM_JSON)){
            auto_save_id = VALUE_FROM_JSON;
        }

谢谢你

编辑:这是我所有相关的视图部分:

if 'auto_save_id' in request.POST:
        if request.POST['auto_save_id'] == "0":
            title = request.POST['title']
            body = request.POST['body']
            get_isdraft = request.POST['isdraft']
            if get_isdraft == "True":
                isdraft = True
            else:
                isdraft = False
            owner = request.user
            if request.is_ajax():
                try:
                    post = Post(title=title, body=body, isdraft=isdraft, owner=owner)
                    post.save()
                except:
                    post = None
                json_dump = simplejson.dumps(post.id)
            return HttpResponse(json_dump, mimetype='application/json')
        else:

            post_id = request.POST['auto_save_id']
            title = request.POST['title']
            body = request.POST['body']
            get_isdraft = request.POST['isdraft']
            if get_isdraft == "True":
                isdraft = True
            else:
                isdraft = False
            owner = request.user
            post = Post.objects.get(id=eval(post_id))
            if request.is_ajax():
                post.title = title
                post.body = body
                post.isdraft = isdraft
                post.owner = owner
                post.save()
                json_dump = simplejson.dumps(post.id)
            return HttpResponse(json_dump, mimetype='application/json')

我有一个隐藏的输入,其值为“0”。在第一次加载页面时,该值为“0” 10 秒后 auto_save 函数运行并发送数据以查看。在视图中,我检查 auto_save_id = 0:如果是,我创建新帖子并将该帖子的 id 发送到模板端。之后每 10 秒 ajax 必须更新该帖子。为了防止每 10 秒创建新帖子,我需要保存帖子的 ID。

我希望这很清楚。

4

1 回答 1

1

首先,我想你想发送一本字典来simplejson.dumps()喜欢:

json_dump = simplejson.dumps({'pid': post.id})

然后,在您的 javascript 函数中,您将使用您的 argument.pid 获取 id,例如:

function myCallback(data){
    alert(data.pid);
}
于 2012-11-29T18:44:53.003 回答