簡體   English   中英

永遠不會發送AJAX請求。 為什么?

[英]AJAX request is never sent. Why?

var data;

$(document).ready(function(){
var rows = document.getElementById("orderlist_1").rows; var cell = rows[rows.length - 1].cells[3];
data = "id="+cell.innerHTML
checkAndNotify();
})

function checkAndNotify()
{   
    alert("oo");
    $("#shownoti").load("/mostrecenttransaction","id=2008010661301520679");
    t = setTimeout("checkAndNotify()",3000)
    return true;
}

//$(document).ready(checkAndNotify())

在上面的代碼中,當我打開網頁時,每3秒就會顯示一次包含內容的窗口。 但是,下一行似乎永遠不會執行。 如果我手動打開URL http://127.0.0.1:8000/mostrecenttransaction/?id=2008010661301520679 ,它將返回一個HttpResponse,所以為什么AJAX調用從未發送過。

我已通過使用“網絡”標簽使用Google Chrome的Inspect Element進行了檢查,並觀察到即使Alert(“ oo”)每3秒執行一次,但從未發送過Ajax請求。 誰能幫我嗎。 我花了很多時間,但我無法弄清楚。 您可以簡單地通過git clone和“ git checkout counternoti”來檢查代碼。 可以通過“ python2 manage.py runserver”簡單地運行代碼,無需進行配置。(輸入用戶名“ 123456789”,密碼為abcd如果可以自己看到它,那就太好了。至少,這對我來說很有趣作為初學者。

我的倉庫-> https://github.com/shadyabhi/pycourt_login/tree/counternoti

urls.py中的相關代碼:(./ urls.py)

(r'^mostrecenttransaction/',mostRecentTransaction),

views.py:(./views.py:line 339)

def mostRecentTransaction(request):
    transactid_atdocument = request.GET['id'][7:]
    latestid = Ordersss.objects.latest('transaction_id').transaction_id[7:]
    print latestid, transactid_atdocument
    if latestid > transactid_atdocument:
        return HttpResponse("Food List outdated, please refresh")
    else:
        return HttpResponse("")

模板:(./templates/home.html:line 282)

<script type="text/javascript" src="/pycourt/newordernotification.js"></script>
..
..
<div id=shownoti"></div>

我是jQuery&AJAX的新手,在嘗試解決了幾個小時后,這件事使我發瘋。 要點是,如果顯示“警報”,那么為什么不顯示AJAX請求呢? 答復將不勝感激。

jQuery.ajax({
    url: "mostRecentTransaction",
    type: "GET",
    data: { id : 2008010661301520679 },
    success: function(data) {
        alert(data);
        jQuery('#shownoti').html(data).hide().fadeIn(1500);
    }
});

嘗試使用setInterval而不是setTimeout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM