【发布时间】:2014-12-30 15:13:36
【问题描述】:
有没有办法在我的 jquery AJAX 调用中引用包含数据库中数据的列表 (item_list = inventory.objects.order_by('name'))?
这是我的代码:
/models.py:
class phonebook(models.Model):
name = models.Charfield(max_length=200)
phone_number = models.CharField(max_length=100)
/views.py:
def phonebook_home(request):
global phonebook
phonebook = phonebook.objects.order_by('name')
def get_next_3_contacts(request):
returnedContacts = phonebook[contactIndex:contactIndex+3]
return HttpResponse(phonebook)
/main.js:
var = ajax_call {
type: 'GET'
url: DEFINED_URL
data: {
index: contactIndex
},
dataType: 'html'
success: function (returned, textStatus_ignored, jqXHR_ignored) {
var contactIndex = 0
function phonebook_list(name, phone_number) {
"<li>" + name + " : " + phone_number + "</li>"
}
for(var index=0; index < 3; index++) {
var name = phonebook[index].name
var phone_number = phonebook[index].phone_number
$("ul").append(phonebook_list(name, phone_number))
}
contactIndex += 3
}
电话簿[index].name / .phone_number 在我的页面上返回“未定义”。我想将我的 js 文件与我的模板文件分开,因为这样我调试起来会更容易,但不幸的是,这个问题困扰了我。我还输入了一个警报来测试是否有任何数据从数据库返回,它只返回一个包含联系人姓名的字符串,联系人姓名之间没有空格。例如:“JaredSarahJohn”。
感谢所有帮助和任何建议!
【问题讨论】:
-
你看到 ajax 回调接收的数据格式了吗?您必须对数据进行 json 编码(json.dumps)
标签: ajax django python-3.4 django-1.7