我正在尝试实现一个非常简单的ajax调用,但是因为它是我的第一个调用,出了问题,我找不到原因。在用户从下拉列表中选择之后,我希望在相应的查询之后完成表单的另一个字段。这是我的代码: jquery的:
<script type="text/javascript">
$(document).ready(function() {
$('#id_veh_id1').bind('click', function () {
var val1 =$("#id_veh_id1").val();
$.get(""+val1+"/", function(data) {
result=data.veh_length;
document.getElementById('id_vlength').value=result;
});
});
});
</script>
使用网址:url(r'^(?P<user_id>\d+)/main_Webrequests/(?P<veh_id>\d+)/$', 'auth.views.test', name='test')
并查看:
def test(request, veh_id, user_id):
message = {"veh_length": ""}
if request.is_ajax():
vehicle1 = Vehicles.objects.get(id = veh_id)
veh_length = vehicle1.vlength
message['veh_length'] = vehicle1.vlength
else:
message = "yoohoo"
json = simplejson.dumps(message)
return HttpResponse(json, mimetype='application/json')
当我使用veh_id
而不是veh_length
进行尝试时,一切似乎都运行良好,但也许我对整个事情并不了解。
答案 0 :(得分:0)
我认为您需要在django代码中序列化您的json数据.....请查看此链接以供进一步参考..
答案 1 :(得分:0)
simplejson无法将Decimal
转储给JSON,您应该可以通过以下方式解决这个问题:
message['veh_length'] = "%d" % vehicle1.vlength