首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX请求从不发送。为什么?

问AJAX请求从不发送。为什么?
EN

Stack Overflow用户
提问于 2011-03-31 03:53:26
回答 2查看 305关注 0票数 0
代码语言:javascript
复制
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秒就会显示一次内容窗口。但是,下一行好像它从未执行过一样。如果我手动打开http://127.0.0.1:8000/mostrecenttransaction/?id=2008010661301520679,它会返回一个HttpResponse,所以为什么从未发送过AJAX调用。

我已经通过进入网络选项卡来使用google的检查元素进行检查&观察到,即使警报(“oo”)每3秒执行一次,但ajax请求从未发送。有人能帮帮我吗。我花了那么多时间在上面,但我想不出来。您可以简单地通过git克隆检查代码& "git签出反code“。代码可以简单地由"python2 manage.py runserver“运行,不需要配置。(输入用户名为"123456789”,密码为abcd --如果您可以亲自查看它,那就太好了。至少,作为初学者,这对我来说太有趣了。

我的回购-> https://github.com/shadyabhi/pycourt_login/tree/counternoti

Urls.py中的相关代码:(./urls.py)

代码语言:javascript
复制
(r'^mostrecenttransaction/',mostRecentTransaction),

views.py:(./views.py:第339行)

代码语言:javascript
复制
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("")

模板:(./模板/line.line:第282行)

代码语言:javascript
复制
<script type="text/javascript" src="/pycourt/newordernotification.js"></script>
..
..
<div id=shownoti"></div>

我是jQuery & AJAX的新手,在我尝试了几个小时解决它之后,这件事让我抓狂了。的要点是,如果显示了“警报”,那么为什么不使用AJAX请求呢?将非常感谢您的回复。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-31 04:04:41

代码语言:javascript
复制
jQuery.ajax({
    url: "mostRecentTransaction",
    type: "GET",
    data: { id : 2008010661301520679 },
    success: function(data) {
        alert(data);
        jQuery('#shownoti').html(data).hide().fadeIn(1500);
    }
});
票数 4
EN

Stack Overflow用户

发布于 2011-03-31 04:01:00

尝试使用setInterval而不是setTimeout

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5495143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档