服务器上IIS6不支持AJAX脚本如何解决

问题描述

我做了一个文件上传,利用AJAX实现进度条,在本地上没事,上传到服务器上就不行了,具体代码如下所示:load.aspx页面代码:<scripttype="text/javascript">functionajaxGet(){$.post("UpLoadHandler.ashx",{date:newDate()},function(data){varnum=parseInt(data);varobj,Mywidth,curwidth,divwidth;if((!isNaN(num))&&(num<100)){//$("#result").text(num+"%");$("#progress").show();divwidth=document.getElementById("divmain").offsetWidth;obj=document.getElementById("processbar");curwidth=num/100*580;Mywidth=obj.style.width;Mywidth=Mywidth.replace("px","");Mywidth=parseInt(Mywidth);Mywidth=curwidth;obj.style.width=Mywidth+"px";window.setTimeout(ajaxGet,10);}elseif((!isNaN(num))&&(num==100)){//alert(num);iosOverlay({text:"上传成功!",duration:2e3,icon:"Images/check.png"});//alert('上传成功!');//$("#result").text("100%");//window.setTimeout('$("#result").text("发送已完成");',1000);$("#progress").hide();}});}</script><body><formid="form1"runat="server"><asp:FileUploadID="file"runat="server"BorderStyle="None"CssClass="upfile"Width="160px"/><asp:LinkButtonID="btnOK"runat="server"CssClass="upbtn"OnClientClick="returnCheckWorkFile()"onclick="upload_linkbtn_Click"></asp:LinkButton></form></body>load.aspx.cs代码:protectedvoidupload_linkbtn_Click(objectsender,EventArgse){stringupPath=ConfigurationManager.AppSettings["UpPath"];stringUpPathSever=ConfigurationManager.AppSettings["UpPathSever"];if(!string.IsNullOrEmpty(upPath)){System.IO.DirectoryInfodir=newSystem.IO.DirectoryInfo(upPath);//判断文件夹否存在,不存在则创建if(!dir.Exists){dir.Create();}if(file.PostedFile!=null&&file.PostedFile.ContentLength!=0){Session["Schedule"]="0";//启动一个线程Threadth=newThread(newThreadStart(Upload));//注册客户端脚本ClientScript.RegisterStartupScript(this.GetType(),"ajaxGet","ajaxGet()",true);th.Start();}HttpFileCollectionfiles=HttpContext.Current.Request.Files;stringlocalFileName=System.IO.Path.GetFileName(files[0].FileName);stringsaveFilePath=upPath+localFileName;Int64nFileSize=file.PostedFile.ContentLength;//获取上传文件的大小stringReStr=UpPathSever+localFileName;file.SaveAs(saveFilePath);}一般处理文件LoadHandler.ashx.cs代码:publicvoidProcessRequest(HttpContextcontext){context.Response.ContentType="text/plain";StringtempStr=(context.Session["Schedule"]??"0").ToString();context.Response.Write(tempStr);}publicboolIsReusable{get{returnfalse;}}请各位大大帮忙看看这是为什么?

解决方案

解决方案二:
搜一搜:异步AJAXweb天生是多线程的,不要胡乱启动什么线程
解决方案三:
引用1楼Z65443344的回复:

搜一搜:异步AJAXweb天生是多线程的,不要胡乱启动什么线程

额,差点忘了//启动一个线程Threadth=newThread(newThreadStart(Upload));该线程是用来监听“Upload”这个方法的,Upload方法如下privatevoidUpload(){varpostfile=file.PostedFile;intlength=postfile.ContentLength;//stringpath=Server.MapPath("~/upLoadFile/");intUploadLength=0;intbufferSize=100000;byte[]buffer=newbyte[bufferSize];try{//stringpath=Server.MapPath("upLoadFile/");//stringfileName=Path.Combine(path,string.Format("{0}{1}",DateTime.Now.ToString("yyyyMMddhhmmss"),Path.GetExtension(postfile.FileName)));stringfileName=file.FileName;using(FileStreamfs=newFileStream(fileName,FileMode.Create)){while(UploadLength<length){intbytes=postfile.InputStream.Read(buffer,0,bufferSize);fs.Write(buffer,0,bytes);UploadLength+=bytes;Session["Schedule"]=(int)Math.Ceiling((double)UploadLength/(double)length*100);Thread.Sleep(100);}}Session["Schedule"]=100;}catch{throw;}}
解决方案四:
上传进度条有第三方控件,不需要AJAX自己实现而且即使要自己实现,也不要胡乱开什么线程你这是把web当单机玩吗
解决方案五:
现在我的疑问就是,在本地上测试一点问题也没有,为什么到服务器上就不行了,这是我代码的问题还是服务器获取IIS的问题
解决方案六:
所以说你是在把web当单机版在玩在本地测试,客户端和服务端都在同一台电脑上,IE和服务端的通信也都是内存共享的方式通信,不走网卡而且本地测试是单用户,没有多用户交互你要发布到IIS,就得按照通信的思想去做,而不是单机的思想
解决方案七:
额,那该怎么解决

时间: 2024-09-14 08:37:45

服务器上IIS6不支持AJAX脚本如何解决的相关文章

用IE登录Linux服务器上的em出现的乱码的解决

linux服务器|解决 用IE登录Linux服务器上的em出现的乱码的解决 作者: Fenng 问题描述 在Linux(Unix)环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框. 解决办法 其实严格的说来,这是Java的问题.JDK Swing采用TrueType 字体作为按钮的显示字体,如果你的JDK 找不到中文字体用来显示,你看到的一些按钮就变成小方块的样子. 一般情况下, 我们只需要修改相应的 font.pro

在Apache服务器上安装SSL支持的教程_Linux

今天我会讲述如何为你的个人网站或者博客安装SSL 证书,来保护你的访问者和网站之间通信的安全. 安全套接字层或称SSL,是一种加密网站和浏览器之间连接的标准安全技术.这确保服务器和浏览器之间传输的数据保持隐私和安全.它被成千上万的人使用来保护他们与客户的通信.要启用SSL链接,Web服务器需要安装SSL证书. 你可以创建你自己的SSL证书,但是这默认不会被浏览器所信任,要解决这个问题,你需要从受信任的证书机构(CA)处购买证书,我们会向你展示如何获取证书并在apache中安装.生成一个证书签名请

在Windows服务器上快速架设视频编解码器全攻略

随着互联网的发展,在线视频和视频分享站点已成为当之无愧的流行焦点之一.越来越多的网民们热衷于上土豆等视频网站看在线视频.电影.电视剧,也带动一批播客们制作自己的"创意"视频上传到服务器上和众多网民们分享与交流. 同时也有越来越多的站长们或者草根一族也注意到这一商机,纷纷建立了自己的视频分享站点.就目前而言,绝大多数在线视频分享站点都使用FLV格式的网络视频文件.FLV格式是Macromedia开发的Flash的视频格式.使用这种格式的好处是不但可以轻松导入Flash,同时解决了过去其他

ASP.NET MVC 3不安装也能在服务器上运行

51CTO向您推荐:<ASP.NET MVC框架视频教程> 当在服务器上部署 ASP.NET MVC3 的应用的时候,可能会看到如下的错误信息: 这表示你的服务器上没有安装 ASP.NET MVC3. 解决这个问题的方法有两种: 第一,当然是在服务器上安装 ASP.NET MVC3 了.不过,如果你使用的是服务器的虚拟空间,或者租用的服务器,可能没有安装的条件,那就是用第二种方法吧. 第二,错误的原因很显然是缺少适当的程序集,在已经安装 ASP.NET MVC3 的情况下,这些程序集已经被安装

asp.net 点击页面按钮执行了服务器上的exe,但是在exe里读写的操作却不能进行,如何解决?

问题描述 在asp.net的客户端页面,点某个按钮,执行服务器上的exe,这个没问题能执行了.但是我的这个exe里面是个发邮件的功能,需要读取和exe文件相同文件夹的ini,这步怎么也执行不了.是不是通过客户端网页调用服务器端的exe没有在服务器上读写的权限,该怎样解决?谢谢. 解决方案 解决方案二:应是你的这个exe没有读取ini的权限吧.解决方案三:谢谢回答我单独执行这个exe,是可以读写文件的.是不是在asp.net下调用需要什么设置,请教了解决方案四:"客户端网页调用服务器端的exe没有

在Windows的Apache服务器上配置对PHP和CGI的支持_Linux

现在有越来越多的个人主页站长需要了解如何如何在windows系统下配置自己的php,cgi服务器,以方便本地调试cgi和php的程序. 我们可以用Apache(windows版)来一次搞定:以下由我自己整理的关于在单机Windows环境下的安装和配置 Apache Server 的文章.假如您正在 Windows 单机环境下测试自己的网站,建议您参考一下. 主要包括:安装和配置 Apache Server:使用 Perl CGI 脚本:使用 PHP 脚本. --部分内容参考<Apache Ser

基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)

首先需要导入一些js和css文件 <link href="__PUBLIC__/CSS/bootstrap.css" rel="external nofollow" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="__PUBLIC__/CSS/fileinput.css" rel="

IIS报在服务器上找不到脚本语言&#039;VBScript.encode&#039;错误怎么办

  这篇文章主要介绍了IIS报在服务器上找不到脚本语言'VBScript.encode'错误解决方法,其实这是一种服务器安全设置,一般虚拟主机都会禁用,需要的朋友可以参考下VBScript.Encode 这个组件经常被用来加密一些ASP的木马后门以达到免杀效果,还有一些程序的作者也会在ASP中使用加密以达到保护版权的目的. 偶然间发现,有套程序传到服务器上,程序报错了: 代码如下:Active Server Pages 错误 'ASP 0129' 在服务器上找不到脚本语言 'VBScript.e

文件下载 断点续传-我想实现从外部网站下载文件到我们公司的服务器上,支持断点续传

问题描述 我想实现从外部网站下载文件到我们公司的服务器上,支持断点续传 我想实现从外部网站下载文件到我们公司的服务器上,支持断点续传并且用一个线程下载一个文件,请问哪位有什么思路或者源码参考.麻烦大家给我出出主意. 网上都是从服务器上下载到本地的案例.这种可以应用到我这种需求上吗? 顺便问下http协议和ftp协议下载文件是否支持下载到本地指定路径,对文件大小类型有没有限制. 用java语言 解决方案 1.先用代码解析外部网站下载页面获取下载地址 2.代码实现http协议请求解析得到的下载地址,