ajax只发送一次请求,只发送一次Ajax请求一次

这篇博客探讨了一个问题,即在JavaScript中如何确保在URL更改或页面加载时,Ajax请求只发送一次。作者提供的代码在URL变化时触发一个函数getFromDB(),但遇到了请求被无限次发送的问题。当在localhost上运行时,请求能正常发送一次。为解决这个问题,作者尝试了使用布尔变量来限制请求次数,但未成功。博客寻求帮助,希望能找到一种方法在每次页面加载或URL更改时仅发送一次请求。
摘要由CSDN通过智能技术生成

我使用以下代码在主浏览器的url更改时调用一个函数。只发送一次Ajax请求一次

var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)

.getInterface(Components.interfaces.nsIWebNavigation)

.QueryInterface(Components.interfaces.nsIDocShellTreeItem)

.rootTreeItem

.QueryInterface(Components.interfaces.nsIInterfaceRequestor)

.getInterface(Components.interfaces.nsIDOMWindow);

mainWindow.getBrowser().addEventListener("DOMContentLoaded",function(){ getFromDB();}, false);

这getFromDB()发送到服务器

request = new XMLHttpRequest();

request.open("GET", "http://www.mydomain.com/getJSON.php", true);

request.onreadystatechange = sendData;

一切正常的请求,但问题是该请求被发送到服务器进行无限的次数。如果浏览器在loacalhost中加载页面,则该请求只发送一次。

我想限制每个页面加载/请求(或URL更改)只发送一次请求。

我已经使用了一些布尔检查。但他们不工作。

var check=0;

if(check==0)

{

check=1;

getFromDb();

}

在第一线addEventListener内:8 帮我弄这个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值