ビューから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が必要です。
これが明確であることを願っています。