`
yingwuhahahaha
  • 浏览: 17698 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ajax调用过程中,千万不要把request覆盖了.

阅读更多

今天调了一天的错误,非常郁闷,直到晚上才发现,原来是页面中定义的XMLHttpRequest对象是个全局对象,但有两个ajax调用都引用了它,每隔几分钟就会出现问题,还是莫名其妙的问题,我以为是数据解析有问题或后台问题,调啊调,结果是两个ajax调用,第二个调用了同一个request,也就是覆盖了第一个的,害得第一个偶尔会得到第二个的值,导致解析出错.......

 

以后每个ajax调用一定不要用全局的变量保存request.而是临时生成,然后将request绑定它的到处理上.

function test(){
    var temp_request = createXMLHttpRequest();
    deal_change.request = temp_request;
    temp_request.onreadystatechange=deal_change;
    temp_request.open("GET",url,true);
    temp_request.setRequestHeader("If-Modified-Since","0"); //不缓存Ajax
    temp_request.send(null);
}

function deal_change()
{
	var rStr;
	try{
		if(deal_change.request.readyState==4)\\
通过deal_change.request引用调用它的request
		{	
			if(deal_change.request.status==200)
			{	
				rStr = trim(deal_change.request.responseText);

                     ...................
}}}


切记切记.
当然若使用 框架就不用这么麻烦了.
 
分享到:
评论

相关推荐

    ajaxRequest.js(ajax get post方法封装,方便前端调用)

    封装jquery ajax方法,方便调用,避免在代码中频繁使用 $.ajax({ type: 'GET', url: url, ...... )}; 统一调用公共方法即可,区分同步异步,get post!希望对大家有帮助

    Ajax调用webservices

    虽然原生的XMLHttpRequest功能强大,但实际开发中,我们通常会使用jQuery、axios、fetch等库或框架来简化Ajax调用。例如,使用jQuery的$.ajax()方法: ```javascript $.ajax({ url: 'http://example.com/service',...

    Ajax.Request

    $('result').value = originalRequest.responseText; } ``` 这段代码展示了如何使用`Ajax.Request`类来发起一个GET请求,并且在请求完成后调用`showResponse`函数来处理响应数据。具体来说: 1. **选择员工和年份...

    Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理.doc

    Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理

    asp.net+jquery+ajax所有调用例子

    ASP.NET 是一个强大的Web应用程序开发框架,由微软...通过在ASP.NET页面中添加UpdatePanel,并配置触发器,我们可以实现后台方法的AJAX调用。例如,一个简单的ASP.NET AJAX调用aspx页面的方法可能如下: ```asp.net ...

    AjaxRequest 离线包

    4. **Promise支持**:现代浏览器中的Ajax请求通常返回Promise对象,允许链式调用和错误处理。离线包可能包含Promise库,如Bluebird或ES6 Promise,以兼容旧版本浏览器。 5. **Mock Server**:在离线环境中,可能...

    AjaxRequest下载

    "代码"标签意味着我们将看到具体的代码示例,比如压缩包中的`ajaxrequest.js`文件,可能包含了一个完整的Ajax请求实现。而`!使用说明(必看).url`可能是提供了一份详细的使用指南,指导如何将这个AjaxRequest功能...

    Ajax调用SOAP-Web示例

    首先,让我们理解Ajax调用的基本过程: 1. **创建XMLHttpRequest对象**:这是所有Ajax操作的基础,JavaScript通过这个对象与服务器进行异步通信。 2. **初始化请求**:设置HTTP方法(如GET或POST),URL以及是否异步...

    mootools最精简的ajax调用

    标题“mootools最精简的ajax调用”暗示我们将关注MooTools库中最简洁、最高效的AJAX实现方式。MooTools提供了`Request`类来处理AJAX请求,这使得发起一个简单的AJAX调用变得非常容易。下面我们将详细讨论如何使用`...

    C# Ajax调用

    **C# AJAX调用**是Web开发中的一个重要技术,它允许客户端使用JavaScript异步与服务器进行数据交换,而无需刷新整个页面。在C#中,通常通过ASP.NET框架来实现服务器端的AJAX处理,而JavaScript则负责客户端的交互。 ...

    ajaxfileupload.js

    if (request.Files == null || request.Files.Count ) throw new ApplicationException("no file to be uploaded!"); var file = request.Files[0]; var filename = System.IO.Path.GetFileName(file.FileName);...

    使用Ajax调用SOAPWeb服务.docx

    总的来说,使用Ajax调用SOAP Web服务涉及到XML处理、浏览器兼容性和安全性的挑战。开发者需要了解不同浏览器的特性,编写兼容的代码,并确保遵循最佳安全实践。此外,理解SOAP消息结构以及如何处理命名空间和属性...

    ajax调用,asp版本的 ,超级好用

    在ASP中,你可以使用`Request.QueryString`或`Request.Form`来分别处理GET和POST请求。 5. **回调函数**:在Ajax请求完成后,JavaScript的回调函数会被调用,此时可以处理服务器返回的数据。例如,使用jQuery的`...

    用AJAX的Get和Post调用Servlet的简单示例.doc

    request.setCharacterEncoding("UTF-8"); // 设置请求编码为UTF-8 response.setContentType("text/html;charset=UTF-8"); // 设置响应类型和编码 response.setHeader("Cache-Control", "no-cache"); // 禁止缓存 ...

    Ajax_Dll编程工具调用实现Ajax[温亚迪讯出品].rar

    其中Ajax.dll提供了一个名为 AJAX_Request 的调用函数名,返回数据文本型,其中AJAX_Request函数中包涵了3个参数,分别是ASPorPHP_FileAddress、Method、Request_data,分别是在Inter服务器上提交数据文件的地址、...

    ajaxrequest.js ajaxrequest 0.7最新版 使用AJAXRequest进行AJAX应用程序开发入门小技巧

    本文将基于`ajaxrequest.js`的`AJAXRequest`库,介绍如何利用它来进行高效、简洁的AJAX应用程序开发。 #### 准备工作 在正式进入开发之前,我们需要做好一些准备工作: 1. **基础知识**: - 掌握JavaScript的...

    ajax.dll以及说明文档和demo

    private static extern void AjaxRequest(string url, AjaxCallback callback); public delegate void AjaxCallback(string response); public void SendAjaxRequest() { AjaxRequest(...

    Ajax-vue-api-request.zip

    Ajax-vue-api-request.zip,通过使用支持Axios和Vue资源的出色组件来控制API调用,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...

    ajax跨域调用wcf实例

    它可以支持多种协议,包括HTTP,使服务可以被AJAX调用。在WCF中实现跨域调用,我们需要配置服务以允许来自不同源的请求。 以下是实现AJAX跨域调用WCF服务的具体步骤和相关知识点: 1. **开启WCF服务的跨域支持**:...

    ajax以GET和POST方式调用WCF

    **Ajax调用WCF服务详解** 在Web开发中,Asynchronous JavaScript and XML(Ajax)技术被广泛用于实现页面的无刷新更新,提高了用户体验。而Windows Communication Foundation(WCF)是微软提供的一种强大的服务导向...

Global site tag (gtag.js) - Google Analytics