0
我是jQuery noob這裏,請大家幫忙!非常感謝!AJAX在jQuery與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請求。所以,那麼多的作品,我也得到一個很好的警告框,上面寫着「你好AJAX」
現在HTML版本2不工作:
$(document).ready(function() {
$("a").click(function() {
alert("hi");
$.get("xhr_test", function(data) {
alert(data);
});
});
});
<a href="">Click here</a>
所以,當我點擊「點擊這裏」我得到一個警告「嗨」在裏面,然後什麼都沒有。似乎沒有任何東西被髮送或接收,因爲我在Firebug中沒有看到任何東西。我也嘗試將請求URL從「xhr_test」更改爲「myApp/xhr_test」和「/ myApp/xhr_test」無濟於事。
我在做什麼錯?
非常感謝!
工作!非常感謝!你能解釋一下嗎?我猜想它所做的是阻止元素執行它原本應該做的事情,那就是在href中的url? – rabbid 2011-04-12 01:35:08
@Rabbid,這正是發生的事情。您將看到的另一個選項是使點擊功能返回false – 2011-04-12 01:45:05
請注意,我剛剛發現preventDefault()在Firefox中不起作用。看起來標準的解決方案畢竟是使用'return false;'。 – rabbid 2011-04-12 03:23:16