我使用ajax傳遞json數組以在django中查看。但我無法獲得每個json對象的價值。當我調試和顯示AttributeError對象沒有屬性「標籤」和「值」。請幫我解決這個問題。這是我的代碼Ajax和代碼鑑於:無法獲取視圖中每個json對象的值django
var jsonArr = [];
$('#btnSave').on('click', function() {
$('.form-group').each(function() {
debugger;
value = $(this).find("input[name='ValueRight']").val()
label = $(this).find("input[name='LabelRight']").val()
jsonArr.push({
label: label,
value: value
})
var jsonText = JSON.stringify(jsonArr);
$.ajax({
url: '{% url 'add_label_value' %}',
method: 'POST',
dataType: 'JSON',
data: {
'csrfmiddlewaretoken': $('input[name="csrfmiddlewaretoken"]').val(),
'jsonText': jsonText
},
success: function (data) {
alert(data);
}
});
})
console.log(jsonArr)
})
view.py
def add_label_value(request):
if request.method == 'POST':
try:
if request.is_ajax():
order_header = OrderHeader()
jsonText = json.loads(request.POST.get('jsonText'))
for x in jsonText:
order_header.label = x.label
order_header.value = x.value
order_header.save()
except OSError as e:
error = messages.add_message(request, messages.ERROR, e, extra_tags='add_label_value')
html = '<p>This is not ajax</p>'
return HttpResponse(html)
你可以顯示你的django視圖方法嗎?我想這個問題是,視圖期望在AJAX發送的數據中使用字段「label」和「value」,但是您只需發送字段「csrfmiddlewaretoken」和「jsonText」。 – Flaiming
添加一些打印或日誌到您的視圖。 'request.POST','request.POST.get('jsonText')'和'jsonText'的值是多少? – Alasdair
你爲什麼要捕捉'OSError'?我看不出有什麼會提高的。 – Alasdair