借助于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';
<style type="text/css">.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
然后定义一个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 Demo<!--</span-->title>
<script type="text/javascript" src="MicrosoftAjaxLibrary/MicrosoftAjax.js"><!--</span-->script>
"text/javascript" src="EmployeeService.php/js"><!--</span-->script>
<!--</span-->head>
程序的UI部分很简单,按钮用来触发异步调用,
用来显示调用结果:
<body>
<input id="btnGetEmployee" type="button"
value="Get an Employee" onclick="return btnGetEmployee_onclick()" />
<div id="resultDiv">
<!--</span-->div>
<!--</span-->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 Web开发中,我们可以使用PHP for Microsoft Ajax Library来引入ASP.NET Ajax客户端开发技术。PHP for Microsoft Ajax Library是一个开源工程,旨在提供一个PHP版本的ASP.NET Ajax实现。使用该库,我们可以轻易...
jQuery formValidator是一款不错的表单验证插件,ASP/PHP/ASP.NET平台都可以方便的使用,本实例就是在 ASP.NET环境下的使用formValidator的一个功能演示程序,这其中包含各种表单数据形式的判断,日期选择等。
w3school全部内容 html html5 asp php css jq javascript xml ado sql .net ajax等等.
从给定的文件信息来看,这是一本关于使用ASP.NET进行Ajax编程的入门教程书籍,由Wallace B. McClure、Scott Cate、Paul Glavich和Craig Shoemaker合著,出版于Wiley Publishing, Inc.,版权日期为2006年。书中的主要...
本课程主要聚焦于PHP与ASP.NET 2.0之间的对比学习,特别关注PHP在AJAX应用中的深入编程。AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下与服务器交换数据并...
如果要在非ASP.NET环境中使用,可能需要调整代码以适应新的服务器端框架,比如PHP或Node.js。 总的来说,"网页播放器(适合asp.net)"是一个为ASP.NET平台定制的视频播放解决方案,它简化了在ASP.NET项目中集成视频...
### ASP.NET 2.0与Ajax综合应用技术详解 #### 一、开发环境与资源概述 根据提供的信息,《征服ASP.NET 2.0 Ajax——Web开发技术详解》这本书旨在全面介绍如何利用ASP.NET 2.0结合Ajax进行高效、现代化的Web开发。...
在ASP.NET 2.0中,微软引入了Ajax技术,通过UpdatePanel和ScriptManager等组件,简化了在.NET环境中实现Ajax应用的过程。 这本书《Beginning ASP.NET 2.0 with C#.Sharp》可能会涵盖以下内容: 1. ASP.NET 2.0基础...
3. **Web控件使用**:ASP.NET提供了一系列内置的Web控件,如Button、Label、TextBox等,用于构建用户界面,源码中会展示这些控件如何在代码中被引用和操作。 4. **数据访问层**:抽奖程序可能涉及到数据库操作,如...
【ASP.NET中使用JqGrid完整实现】 JqGrid是一个强大的JavaScript控件,专用于显示和操作表格数据。它的特点是外观时尚,功能丰富,并且支持AJAX方式,使得数据加载和交互更加流畅。JqGrid是由Trirand公司的Tony ...
在这个“asp.net常用代码”压缩包中,我们可以找到一系列针对初学者的代码示例,帮助他们快速掌握ASP.NET的基础和常用功能。 1. **C#语言基础**:ASP.NET通常与C#语言结合使用,C#是.NET框架的主要编程语言之一,...
总的来说,ASP.NET 是一个强大且灵活的 Web 开发平台,通过学习 ASP.NET,开发者可以构建出功能丰富、高性能的 Web 应用,从而在软件行业中脱颖而出。通过本教程的学习,读者将逐步掌握 ASP.NET 的核心概念和技术,...
通过本书,读者可以学习到如何在ASP.NET应用程序中有效地使用XML,包括XML文档的创建、解析、验证、查询以及序列化等操作。 首先,书中会介绍XML的基础概念,如XML文档结构、命名空间、DTD(文档类型定义)和XSD...
总的来说,这个项目是一个使用Ajax实现无刷新效果的在线聊天室,后端由ASP.NET处理业务逻辑并与MSSQL数据库进行数据交互。用户通过浏览器的JavaScript与服务器进行实时通信,实现聊天室的实时更新。开发者通过这样的...