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调用从未发送过。
我已经使用谷歌浏览器的Inspect Element检查了网页标签&观察到即使每隔3秒执行一次警报(“oo”),也不会发送ajax请求。谁能帮我吗。我花了很多时间,但我无法弄清楚。您只需通过git clone& amp; “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:(。/ template / home.html:line 282)
<script type="text/javascript" src="/pycourt/newordernotification.js"></script>
..
..
<div id=shownoti"></div>
我是jQuery&amp;的新手经过几个小时的努力解决后,AJAX和这件事让我发疯了。 重点是,如果显示“警告”,那么为什么不是AJAX请求?答复将受到高度赞赏。
答案 0 :(得分:4)
jQuery.ajax({
url: "mostRecentTransaction",
type: "GET",
data: { id : 2008010661301520679 },
success: function(data) {
alert(data);
jQuery('#shownoti').html(data).hide().fadeIn(1500);
}
});
答案 1 :(得分:0)
尝试使用setInterval而不是setTimeout