在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),
]
答案 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调用就没有机会工作。