[ajaxpro] ajax效果可以实现但是报错,还经常使ie假死的问题解决
来源:互联网 发布:贡贝黑猩猩战争 知乎 编辑:程序博客网 时间:2024/05/12 03:27
首先看一下报错的代码:
1. 添加 ajaxpro.2.dll 引用
具体下载地址 http://download.csdn.net/source/258423
2. web.config 中加
<system.web>
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
3. Default2.aspx.cs 服务器端代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default2));
}
[AjaxPro.AjaxMethod]
public string GetServerTimeString()
{
System.Threading.Thread.Sleep(2000);
return DateTime.Now.ToString();
}
}
4. Default2.aspx中的客户端代码
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head id="Head1" runat="server">
- <title>ajaxpro.2.dll 简单应用</title>
- <script language="javascript" type="text/javascript">
- function getServerTime()
- {
- document.getElementById("div1").innerHTML = "请稍后,正在获取时间..";
- document.getElementById("div1").innerHTML =Default2.GetServerTimeString().value;
- }
- function doAutoSubmit(){
- window.setTimeout("doAutoSubmit()",5000);
- getServerTime();
- }
- </script>
- </head>
- <body onload=doAutoSubmit()>
- <form id="form1" runat="server">
- <div>
- <div id="div1">获取服务器端时间</div>
- </div>
- </form>
- </body>
- </html>
以上代码效果已经实现了ajax无刷新更新,但是在第二次执行ajax方法的时候就开始报告错误,ie报“缺少对象”;ff报“this.timeout() 不是一个函数” ie没多不到半个小时就会假死。
检查了一下代码,主要问题第4步客户端代码这里。代码段中的“document.getElementById("div1").innerHTML =Default2.GetServerTimeString().value;” 是直接将后台ajax方法的返回值赋值给了页面变量。
检查后更改第4步客户端代码为:
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head id="Head1" runat="server">
- <title>ajaxpro.2.dll 简单应用</title>
- <script language="javascript" type="text/javascript">
- function ajax_callback(response)
- {
- document.getElementById("div1").innerHTML = response.value;
- }
- function getServerTime()
- {
- document.getElementById("div1").innerHTML = "请稍后,正在获取..";
- Default2.GetServerTimeString(ajax_callback);
- }
- function doAutoSubmit(){
- window.setTimeout("doAutoSubmit()",5000);
- getServerTime();
- }
- </script>
- </head>
- <body onload=doAutoSubmit()>
- <form id="form1" runat="server">
- <div>
- <div id="div1">获取服务器端时间</div>
- </div>
- </form>
- </body>
- </html>
浏览器不在报错,也不会引起ie假死了。根源原因正在学习,明白之后再更新此文。。
- [ajaxpro] ajax效果可以实现但是报错,还经常使ie假死的问题解决
- 使用AjaxPro实现ajax效果
- 使用AjaxPro实现ajax效果
- 使用AjaxPro实现ajax效果
- 部分项目经常会出现一些无法找到原因的js报错,如果实在不能解决,可以尝试屏蔽报错,但是不是所以情况都适用。
- 两步解决WIN7 下IE经常未响应的假死现象
- AjaxPro实现异步调用,解决浏览器假死及超时问题
- 实现Jtable中某行可以选中,但是不可以编辑的效果,保证每次只选中一行
- IE浏览器老是假死怎么办 IE假死的解决办法
- 用AjaxPro和ASP.NET结合实现无刷新AJAX效果
- @ResponseBody 返回json数据 在IE浏览器提示保存文件,但是在firefox中却可以正常的实现功能。
- IE浏览器访问Flask自带服务器假死问题解决方法
- 用AjaxPro实现定时刷新效果
- 用AjaxPro实现定时刷新效果
- 用AjaxPro实现定时刷新效果
- 用AjaxPro实现定时刷新效果
- 用AjaxPro实现定时刷新效果
- 用AjaxPro实现定时刷新效果
- windows系统账户权限设置详解
- 系统核心模块所需要的几个部分
- HP 520不能安装操作系统的解决
- DOS下DIR 命令
- (解决)导出文件后关闭页面
- [ajaxpro] ajax效果可以实现但是报错,还经常使ie假死的问题解决
- innerHTML、outerHTML、innerText、outerText的区别
- MAILWATCH重要通知---关于Outlook用户邮箱被清空问题(一)
- vc 内存泄漏检查
- 完成端口(IOCP) 也可以这样用~~呵呵~ 用来充当线程之间的数据队列~
- outlook最小化到托盘设置
- 如何快速获取可用分?
- 修改myeclipse中jsp默认的打开方式
- 奥巴马当选美国总统演讲稿全文