在PHP中使用ASP.NET AJAX
来源:互联网 发布:淘宝举报中心在哪里 编辑:程序博客网 时间:2024/06/06 20:35
借助于CodePlex上开源项目PHP for Microsoft AJAX Library的帮助,我们已经可以在PHP上使用ASP.NET AJAX的很多核心功能了。
下载安装
PHP for Microsoft AJAX Library目前仅仅处于Alpha阶段,想实际使用似乎还早了点,只能尝鲜了。
预先需求有PHP 5.2版本,且必须安装了php-json模块。
下载地址:http://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=1692
安装方法:
- 下载PHP for Microsoft AJAX Library并解压缩
- 下载Microsoft AJAX Library(http://ajax.asp.net)
- 在PHP Web Service代码中include一下MSAjaxService.php。
- 在调用该Web Service的页面中,引入MicrosoftAjax.js文件。
下面来看一个“经典”的场景:调用服务器端方法取得复杂类型。
编写Service文件
新建一个php文件,命名为EmployeeService.php。首先写上这一句,include必要的支持代码:
require_once 'MSAjaxService.php';
然后定义一个Employee类。四个属性一目了然,不用多说:
class Employee
{
public $Id;
public $Name;
public $Email;
public $Salary;
function __construct($id, $name, $email, $salary)
{
$this->Id = $id;
$this->Name = $name;
$this->Email = $email;
$this->Salary= $salary;
}
}
接下来是EmployeeService类,继承与MSAjaxService.php中的MSAjaxService基类。其中定义一个方法,用来返回一个Employee对象:
class EmployeeService extends MSAjaxService
{
function GetEmployee()
{
return new Employee(12345, "Dflying Chen", "Dflying@some.com", 1000);
}
}
然后新建一个EmployeeService的实例,并且调用基类的ProcessRequest()方法,处理该请求:
$theService = new EmployeeService();
$theService->ProcessRequest();
大功告成!
编写调用页面
新建一个页面,php或者html均可——程序比较简单。这回我们没了ScriptManager的帮助,引入ASP.NET AJAX客户端脚本文件以及上面的这个Service只能靠手工了。注意EmployeeService.php/js可以得到该Service的客户端代理,和ASP.NET平台上的语法一样:
<head>
<title>ASP.NET AJAX On PHP Demotitle>
<script type="text/javascript" src="MicrosoftAjaxLibrary/MicrosoftAjax.js">script>
"text/javascript" src="EmployeeService.php/js">script>
head>
程序的UI部分很简单,按钮用来触发异步调用,
<body>
<input id="btnGetEmployee" type="button"
value="Get an Employee" onclick="return btnGetEmployee_onclick()" />
<div id="resultDiv">
div>
body>
在该按钮的click事件处理函数中,调用该Service,语法也和ASP.NET AJAX中一致,非常方便:
function btnGetEmployee_onclick()
{
EmployeeService.GetEmployee(onSucceeded);
}
在回调函数中,把得到的Employee对象显示到resultDiv中:
function onSucceeded(result)
{
var sb = new Sys.StringBuilder("Server returns an Employee object:
");
sb.append("Id: " + result.Id + "
");
sb.append("Name: " + result.Name + "
");
sb.append("Email: " + result.Email + "
");
sb.append("Salary: " + result.Salary + "
");
$get("resultDiv").innerHTML = sb.toString();
}
大功告成!
示例程序界面
第一次访问
点击Get an Employee按钮后
示例程序代码下载
在这里呢:ASPNETAJAXOnPHP.zip
好一阵子没用PHP了,生疏了不少。不过照猫画虎还是做出来了,这个项目我觉得非常有前途,各位朋友不妨参与一下。这一段比较忙,没写什么技术文章,这一篇也是草草而为,请朋友们见谅。
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在PHP中使用ASP.NET AJAX
- 在Asp.net中使用AJAX
- 在ASP.NET中使用Ajax.dll
- 在ASP.NET MVC中使用Ajax
- WinFX 将被重新命名为.Net Framework 3.0
- WCF,WPF,WWF 的新读音?WinCom, WinPrez, WinFlow
- 微软开源项目MSBEE 解决.net2.0VS.net1.1 过渡中兼容问题
- 微软为Vista编制的企业梦想(安全篇)
- 微软为Ajax 发明C#衍生新脚本语言Script#
- 在PHP中使用ASP.NET AJAX
- 《ASP.NET Ajax程序设计-第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit》2007年4月16日 china-pub全国首发!+ 赠书名单已经确定
- 《ASP.NET AJAX程序设计 第I卷 服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit》连载&最新更新
- 《ASP.NET AJAX程序设计 第I卷 服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit》试读及免费赠书活动
- 《ASP.NET AJAX程序设计 第I卷》的心路历程
- ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
- ASP.NET 2.0 Beta 1研究总结
- Authorization and Profile Application Block 1.0研究总结
- User Interface Process(UIP) Application Block 2.0 研究总结