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私はfirebugの応答部分で見ることができます。しかし、どうすれば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 に答える