无法在 Javascript 中浏览词典
Cant browse through Dictionary in Javascript
我正在使用 Ajax 发送数据,如果成功,它会发回一些数据。
$.ajax({
method: "POST",
url: "{% url 'upload-prop-images' %}",
processData: false,
contentType: false,
mimeType: "multipart/form-data",
data: fileData,
success: function (data) {
console.log(data);
console.log(data.newCard);
console.log(data.newCard.prop_name);
}
}
})
views.py :
def uploadPropImages(request):
prop_obj = list(Property.objects.filter(user=request.user).values())
new_card = {}
for obj in prop_obj:
if obj['prop_name'] == prop_name:
new_card['prop_name'] = obj['prop_name']
new_card['prop_address'] = obj['prop_address']
new_card['prop_type'] = obj['prop_type']
new_card['prop_images'] = '/media/' + obj['prop_images']
return JsonResponse({'status': 'Done', 'newCard': new_card})
在success: function(data) {}
的第一个代码块中,console.log(data)
打印我正在发送的数据,即{'status': 'Done', 'newCard': new_card}
,但是当我打印时,console.log(data.status)
或console.log(data.newCard)
,我得到 undefined
值。我不明白为什么它打印 undefined
因为我使用 AJAX 可能早了很多次而且它似乎有效。这就是我们如何浏览 JAVASCRIPT 中字典的值,在 PYTHON 中是 print(data['status'])
。错误是否与 AJAX 函数中定义的键有关:processData
、mimeType
、contentType
?
你需要调用这个
$.parseJSON();
像这样
success: function (response) {
var data= $.parseJSON(response);
console.log(data);
console.log(data.newCard);
console.log(data.newCard.prop_name);
}
我正在使用 Ajax 发送数据,如果成功,它会发回一些数据。
$.ajax({
method: "POST",
url: "{% url 'upload-prop-images' %}",
processData: false,
contentType: false,
mimeType: "multipart/form-data",
data: fileData,
success: function (data) {
console.log(data);
console.log(data.newCard);
console.log(data.newCard.prop_name);
}
}
})
views.py :
def uploadPropImages(request):
prop_obj = list(Property.objects.filter(user=request.user).values())
new_card = {}
for obj in prop_obj:
if obj['prop_name'] == prop_name:
new_card['prop_name'] = obj['prop_name']
new_card['prop_address'] = obj['prop_address']
new_card['prop_type'] = obj['prop_type']
new_card['prop_images'] = '/media/' + obj['prop_images']
return JsonResponse({'status': 'Done', 'newCard': new_card})
在success: function(data) {}
的第一个代码块中,console.log(data)
打印我正在发送的数据,即{'status': 'Done', 'newCard': new_card}
,但是当我打印时,console.log(data.status)
或console.log(data.newCard)
,我得到 undefined
值。我不明白为什么它打印 undefined
因为我使用 AJAX 可能早了很多次而且它似乎有效。这就是我们如何浏览 JAVASCRIPT 中字典的值,在 PYTHON 中是 print(data['status'])
。错误是否与 AJAX 函数中定义的键有关:processData
、mimeType
、contentType
?
你需要调用这个
$.parseJSON();
像这样
success: function (response) {
var data= $.parseJSON(response);
console.log(data);
console.log(data.newCard);
console.log(data.newCard.prop_name);
}