即使这不完全符合SO精神,但我很喜欢这个问题,因为刚开始时我也遇到了同样的麻烦,因此,我将为你提供快速指南。显然,你不了解其背后的原理(不要将其视为冒犯,但如果你这样做,你将不会提出疑问)。
Django是服务器端的。这就意味着,比如说客户访问URL,你内部就有一个函数views,该函数可以呈现他所看到的内容并以HTML返回响应。让我们将其分解为示例:
def hello(request):
return HttpResponse('Hello World!')
def home(request):
return render_to_response('index.html', {'variable': 'world'})
<h1>Hello {{ variable }}, welcome to my awesome site</h1>
url(r'^hello/', 'myapp.views.hello'),
url(r'^home/', 'myapp.views.home'),
这是最简单的用法示例。转到127.0.0.1:8000/hello表示对该hello()函数的请求,转到127.0.0.1:8000/home将返回index.html并按要求替换所有变量(你现在可能已经知道了这一切)。
现在让我们谈谈AJAX。AJAX调用是执行异步请求的客户端代码。这听起来很复杂,但这仅意味着它会在后台为你提出请求,然后处理响应。因此,当你对某个URL进行AJAX调用时,你将获得与前往该位置的用户相同的数据。
例如,对的AJAX调用127.0.0.1:8000/hello将返回与你访问它相同的东西。只有这一次,你才将其包含在JavaScript函数中,并且可以根据需要进行处理。让我们看一个简单的用例:
$.ajax({
url: '127.0.0.1:8000/hello',
type: 'get', // This is the default though, you don't actually need to always mention it
success: function(data) {
alert(data);
},
failure: function(data) {
alert('Got an error dude');
}
});
一般过程是这样的:
现在在这里会发生什么?你会收到有关“ hello world”的警报。如果你拨打AJAX回家电话怎么办?同样,你会收到警告,说明
换句话说-AJAX调用没有新内容。它们只是让你在不离开页面的情况下让用户获取数据和信息的一种方法,它使你的网站设计流畅而整洁。你应该注意一些准则: