Django:ajax响应并没有显示任何内容

时间:2017-05-15 11:11:38

标签: python ajax django

在Django中,我试图使用ajax获取json。在此之前,我将尝试输出通用字符串而不是json。但是,无论我如何尝试,数据都无法正确打印。角色"好"在result.html中正常输出。我以为我错误地使用了url,所以我尝试了几种方法,但它没有用。

如果您能查看代码并让我详细了解出现了什么问题,我将不胜感激。

这是我的代码:

result.html

<!DOCTYPE html>
<html>
<head>
<title>Hello Bubble Chart</title>
<meta charset="utf-8">
</head>
<body>

<h1> Good</h1>
<hr>
<script src="http://code.jquery.com/jquery-lastest.min.js"></script>
<script type="text/javascript">

$.ajax({
    type: "GET",
    //dataType: "json",
    url: "/help/",
    data: {},
    success: function(response){
        alert(data);
        $("body").append(data);
    }
});
</script>
</body>
</html>

views.py

def json_data(request):
    if request.is_ajax():
        message = "Yes, AJAX!"
    else:
        message = "Not AJAX"
return HttpResponse(message)

urls.py

urlpatterns = [
    url(r'^inputTest/$', views.input_V, name='input_V'),
    url(r'^inputTest/result/$', views.result, name='result'),
    url(r'^inputTest/process/$', views.process, name='process'),
    url(r'^inputTest/help/', views.json_data, name='json_data'),
    url(r'^admin/', admin.site.urls),
]

2 个答案:

答案 0 :(得分:1)

您的观点应该是这样的,

def json_data(request):
    if request.is_ajax():
        message = "Yes, AJAX!"
    else:
        message = "Not AJAX"
    return JsonResponse(dict(message, message))

另外,你的ajax请求应该是,

如果您在结果视图中,

$.ajax({
    type: "GET",
    url: "/help/",
    success: function(data){
        alert(data);
        $("body").append(data);
    }
});

答案 1 :(得分:0)

要解决的第一件事是jquery CDN的URL中的拼写错误 - 它应该是:

http://code.jquery.com/jquery-latest.min.js

http://code.jquery.com/jquery-lastest.min.js

即。 ...latest...不是...lastest...

如果没有jquery,ajax调用就没有机会工作。