Django中使用jQuery的AJAX相当混乱
我在jQuery方面还是个新手,请帮帮我!非常感谢!
这是我的urls.py文件:
url('^xhr_test/$','posts.views.xhr_test'),
这是我的views.py文件:
def xhr_test(request):
if request.is_ajax():
message = "Hello AJAX"
else:
message = "Hello"
return HttpResponse(message)
很简单。这个设置在我的HTML页面的两个版本中有一个能正常工作。
HTML版本1是成功的:
<script type="text/javascript">
$(document).ready(function() {
$.get("xhr_test", function(data) {
alert(data);
});
});
</script>
就是这样。每当页面加载完成后,就会发起AJAX请求。所以这一点是正常的,我会看到一个提示框,上面写着“Hello AJAX”。
但是HTML版本2就不行:
$(document).ready(function() {
$("a").click(function() {
alert("hi");
$.get("xhr_test", function(data) {
alert(data);
});
});
});
<a href="">Click here</a>
当我点击“点击这里”时,会弹出一个提示框,上面写着“hi”,然后就没了。似乎没有任何数据被发送或接收,因为在Firebug中我什么也看不到。我还尝试把请求的URL从“xhr_test”改成“myApp/xhr_test”和“/myApp/xhr_test”,但都没有效果。
我到底哪里做错了?
非常感谢!
相关问题:
1 个回答
1
试着在你的代码里加上一个 event.preventDefault();;比如:
$(document).ready(function() {
$("a").click(function() {
event.preventDefault();
alert("hi");
$.get("xhr_test", function(data) {
alert(data);
});
});
});
<a href="">Click here</a>