我在Python v2.7中使用Django v1.8。
我试图从我创建的API中读取数据。 API的响应采用json格式。
我得到的错误是ERROR -> Uncaught TypeError: Cannot read property '0' of undefined(…)
,用于ajax调用中的这行代码(var key in response['alzDysphagia'][0] )
。
从浏览器本身调用API,工作正常,我得到了json响应。
你能帮我吗?
您可以在下面的模板中找到我的views.py
代码和ajax调用。
views.py
for myfields in l_v:
if counter ==0:
print "counter=0"
counter = counter +1
elif counter !=0:
if counter == count-1:
myfields = '{'+myfields
dictionary = json.loads(myfields)
dict= {"DysphagiaComment" : dictionary["DysphagiaComment"] , "Imipaxireusta" : dictionary["Imipaxireusta"] , "Liquids":dictionary["Liquids"] , "Solid":dictionary["Solid"] }
print "dict "
print dict
print "dictionary"
# print dictionary
else:
counter += 1
# print form_collection
print "diction"
# print dictionary
# temp = json.dumps(dict)
temp = json.dumps({"alzDyshpagia":[dict]})
print temp
return HttpResponse(temp)
模板html文件
**$.ajax({
url: "/Dysphagia",
type: "post",
data: {
csrfmiddlewaretoken: '{{ csrf_token }}',
patientId: aValue,
Select_dys: true
},
dataType:'json',
async: true,
success: function (response){
console.log("response :");
console.log(response.type);
console.log("rw");
for (var key in response['alzDysphagia'][0] ){
{# console.log(response['alzDysphagia'][0][key]);#}
$('[name="' + key.toLowerCase() + '"]input[value="' + response['alzDysphagia'][0][key] + '"]').prop('checked', true)
$("#" + key.toLowerCase()).val(response['alzDysphagia'][0][key]).attr('disabled',true);
}
}
})**
答案 0 :(得分:1)
Python脚本中的错字:
temp = json.dumps({"alzDyshpagia":[dict]})
应该是
temp = json.dumps({"alzDysphagia":[dict]})
('p'和'h'相反)。