Django1.8和Python2.7:Uncaught TypeError:无法读取属性' 0'未定义的(...)

时间:2016-12-10 16:07:41

标签: javascript ajax django python-2.7

我在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);

                            }

                            }

                        })**

1 个答案:

答案 0 :(得分:1)

Python脚本中的错字:

temp = json.dumps({"alzDyshpagia":[dict]})

应该是

temp = json.dumps({"alzDysphagia":[dict]})('p'和'h'相反)。