我从视图中向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')
我可以在firebug的回复部分看到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。
我希望这很清楚。
答案 0 :(得分:1)
首先,我想您想要将字典发送到simplejson.dumps()
,如:
json_dump = simplejson.dumps({'pid': post.id})
然后,在你的javascript函数中,你将获得你的argument.pid的id,如:
function myCallback(data){
alert(data.pid);
}