function Ajax(url)
{
var m_xmlReq=null;
if(window.ActiveXObject)
{
try
{
m_xmlReq = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e)
{
try{m_xmlReq = new ActiveXObject('Microsoft.XMLHTTP');}catch(e){}
}
}
else if(window.XMLHttpRequest)
{
m_xmlReq = new XMLHttpRequest();
}
this.post=function(d)
{
if(!m_xmlReq) return;
m_xmlReq.open('POST',url,false);
m_xmlReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
m_xmlReq.send(d);
return eval(m_xmlReq.responseText);
}
} ......
今天初次接触Ajax那么我将我的学习记录下来,最近记性不太好。备忘吧
1、首先从网路上下载Ajax扩展包,VS2008只是带着最基础的三个Ajax控件。那么我们下载AjaxControlToolkit控件,将下载后的压缩包解压。找出AjaxControlToolkit.dll所在位置。
2、在VS2008中,随意找一个选项卡,或者,新建一个选项卡来放入我们所加入的组件。 选择选项卡点击右键,在弹出的菜单中选择“选择项”条目。如下
3、在弹出的窗体中选择.net Framework选项卡,点击浏览。选中上面AjaxControlToolkit.dll,选择上面两项,点击确定。你选择的选项卡中就会多出一系列Ajax控件。
4、使用:
将工具栏中的控件拖入代码编辑器中(直接拖入界面你会发现他娘的根本拖不进去,起初以为控件安装有问题,后来发现根本不是那么回事)
5、现在你可以使用了。补充说明下,根本不需要什么配置。
在你拖入Ajax控件的同时,程序会自动加入如下。你要做的就是直接使用了
......
1:Ajax可以通过JavaScript的XMLHttpRequest对象与服务器进行通信,通过XMLHttpRequest,JavaScript可以在不重载页面的情况下与服务器进行通信。
2:XMLHttpRequest 浏览器支持
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
{
xmlHttp=new XMLHttpRequest();
//尝试Firefox浏览器
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
//尝试IE6.0
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
//尝试IE5.5
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
</script>
3: onreadystatechange 属性 指定服务器处理完请求后需要调用的回调函数
4:readyState存放服务器相应的状态,4代表请求已经完成
......
AJAX的分页,实现思路是:
1.利用$.fn.extend在JQuery框架下扩展pager类
2.将获取记录总数与相应页记录的后台方法,写在继承自IHttpHandler类的Handler.ashx.cs类,当然实际上用aspx.cs文件写后台方法也没问题,但由于.ashx.cs文件无需处理页面诸多事件因而效率更高。
3.在呈现页面上加载pager类
以下是实现的代码:
1.扩展pager类:extend.js
(function($){ $.fn.extend({ pager: function(totalCount,options) { var opts = jQuery.extend({ pageSize:10, callback:function(){} }, options); return this.each(function(){ var panel = $(this); function pageCount(){ return Math.ceil(totalCount/opts.pageSize); } function selectPage(type){ return function(){ var page = parseInt($('#currentPage').val()); if(type=='first') $('#currentPage').val('1'); ......
AJAX的分页,实现思路是:
1.利用$.fn.extend在JQuery框架下扩展pager类
2.将获取记录总数与相应页记录的后台方法,写在继承自IHttpHandler类的Handler.ashx.cs类,当然实际上用aspx.cs文件写后台方法也没问题,但由于.ashx.cs文件无需处理页面诸多事件因而效率更高。
3.在呈现页面上加载pager类
以下是实现的代码:
1.扩展pager类:extend.js
(function($){ $.fn.extend({ pager: function(totalCount,options) { var opts = jQuery.extend({ pageSize:10, callback:function(){} }, options); return this.each(function(){ var panel = $(this); function pageCount(){ return Math.ceil(totalCount/opts.pageSize); } function selectPage(type){ return function(){ var page = parseInt($('#currentPage').val()); if(type=='first') $('#currentPage').val('1'); ......
比如要给用户报告一个错误,用下面的方法:
使用set_error_handler设置自己的错误处理函数,在报错的地方使用trigger_error,在自定义的错误处理函数中给用户显示一个出错信息页面。
但
是如果调用trigger_error的这个页面是被一次ajax请求触发的,那么ajax返回后将得到一大堆用于显示错误的html代码。而一般
ajax调用都会约定自己的错误信息格式,所以后台php代码要么使用两种不同的报告错误的方式:一种给ajax调用请求使用,一种给普通的页面刷新使
用,要么使用统一的错误报告格式,在报告的时候判断一下这是一个ajax调用请求还是一个普通的页面刷新请求。
在php代码中检测是否ajax调用请求的方法是:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// this is an ajax request
}
这个方法来自于google搜索,据说只适用于jQuery发出的ajax请求。 ......
比如要给用户报告一个错误,用下面的方法:
使用set_error_handler设置自己的错误处理函数,在报错的地方使用trigger_error,在自定义的错误处理函数中给用户显示一个出错信息页面。
但
是如果调用trigger_error的这个页面是被一次ajax请求触发的,那么ajax返回后将得到一大堆用于显示错误的html代码。而一般
ajax调用都会约定自己的错误信息格式,所以后台php代码要么使用两种不同的报告错误的方式:一种给ajax调用请求使用,一种给普通的页面刷新使
用,要么使用统一的错误报告格式,在报告的时候判断一下这是一个ajax调用请求还是一个普通的页面刷新请求。
在php代码中检测是否ajax调用请求的方法是:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// this is an ajax request
}
这个方法来自于google搜索,据说只适用于jQuery发出的ajax请求。 ......
$.ajax({
type: "post",
url: loginUrl,
data: "username=" +uname + "&password=" +pwd,
async: false,
dataType: "json", //返回json格式的数据
cache: false,
success: function(msg) {
if (msg != null) {
alert(msg.script);
$("#test").html(decodeURIComponent(msg.script));
&n ......
总记录数:703; 总页数:118; 每页6 条;
首页 上一页 [1] [2] 3
[4] [5] [6] [7] [8] [9] [10] 下一页 尾页