利用ajaxpro.dll进行Ajax的开发
转:http://hi.baidu.com/playkk/blog/item/9b5f99952fb4c94fd0135e0c.html
1、Ajax.net 做为Ajax技术在dotNet 框架下的实现,作者Michael Schwarz采取了一种封装效果相当棒的技术:将客户端处理XML、事件调用方式都封装在2个Javascript文件中(AjaxPro.prototype.js 和AjaxPro.core.js),同时将这2个重要文件以资源的形式编译于dll中,在处理客户端请求其自定义的.ashx文件时,返回这两个文件。所以我们在使用Ajax.net时需要在Web.config中添加如下httpHandlers以AjaxPro.AjaxHandlerFactory来处理.ashx文件:
在<system.web>与</system.web>之间插入以下代码
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
2、在此基础上,Ajax.net开始对要求其处理的方法进行封装,以便在客户端通过Javascript来调用。首先在用户必须调用的另一个ashx文件即converter.ashx中做了方法的封装,当然要支持任意多数量的参数及返回值的处理,然后就是对于服务端的逻辑处理方法所在类的封装处理。
如何开始使用Ajax.net
A:获取Ajax.net 可以到 http://www.schwarz-interactive.de/ 下载(目前最新版6.4.15.1.)。
B:解压zip并在需要使用的项目中添加对dll的引用(其中AjaxPro.dll为dotnet1.1版,AjaxPro.2.dll 为2.0版)
C:如同上面所说,在web.config中添加对ashx的处理
D:在服务端添加Ajax.net要处理的方法,假如我们要提供的服务是返回用户输入的字符的MD5校验码,那么我们首先要做的是给这个方法加入需要Ajax.net处理使客户端可以直接调用的属性[AjaxPro.AjaxMethod]如下:
[AjaxPro.AjaxMethod]
public string Md5Hash(string sSou)
{
string sResult ="";
byte[] byBuffer = System.Text.Encoding.UTF8 .GetBytes(sSou);
System.Security.Cryptography.MD5CryptoServiceProvider md = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] result = md.ComputeHash(byBuffer);
for(int i=0; i< result.GetLength(0); i++)
{
sResult += result[i].ToString("X2");
}
return sResult;
}
然后在Page_Load中注册此类
private void Page_Load(object sender, System.EventArgs e)
{
AjaxPro.Utili
相关文档:
PHP 5.2 及以上版本提供了 json_encode 和 json_decode 函数,相当好用。
而之前的版本则需要下载网友们自行开发的库(有兴趣的可以看下 http://code.itlearner.com/php/JSON-class.html )
可以参考如下这个方法来在低版本上扩充这两个函数:
if (!function_exists('json_encode') && !function_exists('j ......
前台HTML代码:
<!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>
<title>无标题页</title>
<style ......
ajax实现将鼠标放到图标上,下方会显示和该图有关的信息
客户端代码mouseover.php
<!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>
<meta http-equiv=" ......
<script type="text/javascript">
$(document).ready(function() {
$("#teamName").change(function() {
$.getJSON('/team/SelectProduct', { teamName: $("#teamName").val() }, function(data) {
$("#productID").empty();
......
<mce:script type="text/javascript"><!--
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp & ......