遍历 json 个查询集
Iterating through json queryset
我有一个 Ajax 搜索表单,目前可以正确返回查询用户的用户名和个人资料图片,如下所示:
[{"username": "bugfixtest1", "userprofileinfo__profile_pic": "user-icon.png"}, {"username": "test", "userprofileinfo__profile_pic": "placeholder.jpg"}, {"username": "testemailsend", "userprofileinfo__profile_pic": null}, {"username": "testwithoutprofile", "userprofileinfo__profile_pic": null}]
不过,我现在正尝试遍历其中的每一个并将结果输出为 HTML。但是以下内容似乎不起作用:
$.ajax({
url: '/ajax/search-users/',
type: 'GET',
data: {
'Q': text
},
dataType: 'json',
success: function(data) {
var item = data.usersearchresult
$.each(item.DATA, function(index,item) {
$('#search_results').html('<li>' + item.username + ' </li>');
});
我也试过:
success: function(data) {
for (var i = 0; i < data['usersearchresult'].length; i++){
$('#search_results').html('<li>' + data['usersearchresult'][i] + ' </li>');
}
}
但是这些似乎都不起作用?
意识到问题了。如果有人遇到类似的问题,json 被输出为字符串而不是 json 对象。
添加以下修复它:
var item = data.usersearchresult
var parsed = JSON.parse(item);
for (var i = 0; i < parsed.length; i++){....
我有一个 Ajax 搜索表单,目前可以正确返回查询用户的用户名和个人资料图片,如下所示:
[{"username": "bugfixtest1", "userprofileinfo__profile_pic": "user-icon.png"}, {"username": "test", "userprofileinfo__profile_pic": "placeholder.jpg"}, {"username": "testemailsend", "userprofileinfo__profile_pic": null}, {"username": "testwithoutprofile", "userprofileinfo__profile_pic": null}]
不过,我现在正尝试遍历其中的每一个并将结果输出为 HTML。但是以下内容似乎不起作用:
$.ajax({
url: '/ajax/search-users/',
type: 'GET',
data: {
'Q': text
},
dataType: 'json',
success: function(data) {
var item = data.usersearchresult
$.each(item.DATA, function(index,item) {
$('#search_results').html('<li>' + item.username + ' </li>');
});
我也试过:
success: function(data) {
for (var i = 0; i < data['usersearchresult'].length; i++){
$('#search_results').html('<li>' + data['usersearchresult'][i] + ' </li>');
}
}
但是这些似乎都不起作用?
意识到问题了。如果有人遇到类似的问题,json 被输出为字符串而不是 json 对象。
添加以下修复它:
var item = data.usersearchresult
var parsed = JSON.parse(item);
for (var i = 0; i < parsed.length; i++){....