/*在有中文参数时,接收方需要使用UTF-8方式对数据进行解码
*不支持post附件
*/
function getXmlHttpRequest() {
var xmlHttpRequest = null;
try {
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e1) {
try {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttpRequest = null;
}
}
if (xmlHttpRequest == null && typeof(XMLHttpRequest) != 'undefined') {
xmlHttpRequest = new XMLHttpRequest();
}
return xmlHttpRequest;
}
/*使用post方式发送数据 ......
刚学习ASP.NET AJAX开发,今天遇到一个奇怪的问题,可能是自己不熟的原因!!
在vs2005启动的时候,在asmx文件中,添加断点,启动调试能正常进入到调试页面,然后修改asmx页面以后,
重新启动调试,就不能正常进入到asmx文件中的断点,而且文件修改的地方,对于页面调用直接无效,显示效果始终是修改前的效果!!
后来发现,在修改asmx文件的以后,在菜单栏选择 生成--》重新生成网站以后,就能正常调试和显示修改后的效果!
难道这是asmx文件,在页面缓存的效果么?页面关闭,重新启动工程还是无效,启动后重新刷新也没有效果???只有重新生成网站。。
如果可以,帮我解释下,谢谢! ......
刚学习ASP.NET AJAX开发,今天遇到一个奇怪的问题,可能是自己不熟的原因!!
在vs2005启动的时候,在asmx文件中,添加断点,启动调试能正常进入到调试页面,然后修改asmx页面以后,
重新启动调试,就不能正常进入到asmx文件中的断点,而且文件修改的地方,对于页面调用直接无效,显示效果始终是修改前的效果!!
后来发现,在修改asmx文件的以后,在菜单栏选择 生成--》重新生成网站以后,就能正常调试和显示修改后的效果!
难道这是asmx文件,在页面缓存的效果么?页面关闭,重新启动工程还是无效,启动后重新刷新也没有效果???只有重新生成网站。。
如果可以,帮我解释下,谢谢! ......
在本节我准备只写上关于Ajax的说明,多数来自jQuery的帮助文档,所以不要放在首页。因为我觉得首页应该是要花费了时间和心思的作品。代码演示和jQuery Ajax 一些新的,将在下一次有空时讲述,这里就不讲了。时间已经0晨了。如果你举得有什么jQuery的疑问或者觉得Ajax该讲述那些内容的都可以跟我留言,只要我有时间和能力,我就一定会尽力满足大家。 1. load( url, [data], [callback] ) 载入远程 HTML 文件代码并插入至 DOM 中。 默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。 参数: url (String) : 请求的HTML页的URL地址。 data (Map) : 发送至服务器的 key/value 数据。 callback (Callback) : 请求完成时(不需要是success的)的回调函数。 方法默认 GET 方式来传递的,有参数传递数据进就会自动转换为POST方式的。这个方法可以很方便的动态加载一些HTML文件。 CODE $("#feeds").load("feeds.php", {limit: 25}, function(){ alert("The last 25 entries in the feed have b ......
页面代码:
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Panel ID="Panel1" runat="server" Height="170px" Width="242px">
<asp:Panel ID="Panel2" runat="server" Height ="18px">
<div style="background-image:url(image/AjaxMenuBg2.gif); background-repeat:repeat-x; color:White">我可以移动</div>
</asp:Panel>
  ......
在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下:
0: (Uninitialized) the send( ) method has not yet been invoked.
1: (Loading) the send( ) method has been invoked, request in progress.
2: (Loaded) the send( ) method has completed, entire response received.
3: (Interactive) the response is being parsed.
4: (Completed) the response has been parsed, is ready for harvesting.
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
对于readyState的这五种状态,其他书中大都语焉不详。像《Foundations of Ajax》中,只在书中的表2-2简单地列举了状态的“名称”--The state of the request. The five possible values are 0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, and 4 = complete。而《Ajax in Action》中似乎根本就没有提到这5种状态的细节。
《Professional ......
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:updatepanel ID="UP" runat="server">
<ContentTemplate>
<asp:Button runat="server" Text="Button" onclick="Unnamed2_Click" />
</ContentTemplate>
</asp:updatepanel>
</div>
</form>
ASP.NET2.0中AJAX使用新的Manager 类来管理,而不兼容原来的 ClientManager 类 ,所以用response.write("<script>alert('提示:点我了!')</script>")和
this.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:点我了!');</>", true);
Page.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:点我了!);</>", true);
这些方法都是无效的.
可以用以下方法写代码实现
ScriptManager.RegisterStartupScript ......
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:updatepanel ID="UP" runat="server">
<ContentTemplate>
<asp:Button runat="server" Text="Button" onclick="Unnamed2_Click" />
</ContentTemplate>
</asp:updatepanel>
</div>
</form>
ASP.NET2.0中AJAX使用新的Manager 类来管理,而不兼容原来的 ClientManager 类 ,所以用response.write("<script>alert('提示:点我了!')</script>")和
this.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:点我了!');</>", true);
Page.Client.RegisterClientBlock(this.GetType(), "name", "<>alert('提示:点我了!);</>", true);
这些方法都是无效的.
可以用以下方法写代码实现
ScriptManager.RegisterStartupScript ......