`
lovnet
  • 浏览: 6865768 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

在PHP中使用ASP.NET AJAX

阅读更多

借助于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

安装方法:

  1. 下载PHP for Microsoft AJAX Library并解压缩
  2. 下载Microsoft AJAX Library(http://ajax.asp.net
  3. 在PHP Web Service代码中include一下MSAjaxService.php。
  4. 在调用该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编程微软ASP.NET Ajax初探.pdf

    在PHP Web开发中,我们可以使用PHP for Microsoft Ajax Library来引入ASP.NET Ajax客户端开发技术。PHP for Microsoft Ajax Library是一个开源工程,旨在提供一个PHP版本的ASP.NET Ajax实现。使用该库,我们可以轻易...

    Ajax表单验证插件ASP.NET示例

    jQuery formValidator是一款不错的表单验证插件,ASP/PHP/ASP.NET平台都可以方便的使用,本实例就是在 ASP.NET环境下的使用formValidator的一个功能演示程序,这其中包含各种表单数据形式的判断,日期选择等。

    w3school html html5 asp php css jQuery javascript xml ado sql .net ajax

    w3school全部内容 html html5 asp php css jq javascript xml ado sql .net ajax等等.

    [ASP.NET,PHP,Javascript,Ajax教程].Wrox.Beginning.Ajax.with.ASP.NET.(英文)

    从给定的文件信息来看,这是一本关于使用ASP.NET进行Ajax编程的入门教程书籍,由Wallace B. McClure、Scott Cate、Paul Glavich和Craig Shoemaker合著,出版于Wiley Publishing, Inc.,版权日期为2006年。书中的主要...

    PHP TO ASP.NET 2.0开发系列课程(3):PHP深入编程之AJAX应用

    本课程主要聚焦于PHP与ASP.NET 2.0之间的对比学习,特别关注PHP在AJAX应用中的深入编程。AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下与服务器交换数据并...

    网页播放器(适合asp.net)

    如果要在非ASP.NET环境中使用,可能需要调整代码以适应新的服务器端框架,比如PHP或Node.js。 总的来说,"网页播放器(适合asp.net)"是一个为ASP.NET平台定制的视频播放解决方案,它简化了在ASP.NET项目中集成视频...

    征服ASP.NET 2.0 Ajax——Web开发技术详解(光盘使用说明)

    ### ASP.NET 2.0与Ajax综合应用技术详解 #### 一、开发环境与资源概述 根据提供的信息,《征服ASP.NET 2.0 Ajax——Web开发技术详解》这本书旨在全面介绍如何利用ASP.NET 2.0结合Ajax进行高效、现代化的Web开发。...

    [ASP.NET,PHP,Javascript,Ajax教程].Wrox.Beginning.ASP.NET.2.0.with.C.Sharp.May.2006

    在ASP.NET 2.0中,微软引入了Ajax技术,通过UpdatePanel和ScriptManager等组件,简化了在.NET环境中实现Ajax应用的过程。 这本书《Beginning ASP.NET 2.0 with C#.Sharp》可能会涵盖以下内容: 1. ASP.NET 2.0基础...

    基于ASP.NET的年会抽奖程序源码.zip

    3. **Web控件使用**:ASP.NET提供了一系列内置的Web控件,如Button、Label、TextBox等,用于构建用户界面,源码中会展示这些控件如何在代码中被引用和操作。 4. **数据访问层**:抽奖程序可能涉及到数据库操作,如...

    ASP.NET中使用JqGrid完整实现.docx

    【ASP.NET中使用JqGrid完整实现】 JqGrid是一个强大的JavaScript控件,专用于显示和操作表格数据。它的特点是外观时尚,功能丰富,并且支持AJAX方式,使得数据加载和交互更加流畅。JqGrid是由Trirand公司的Tony ...

    asp.net常用代码

    在这个“asp.net常用代码”压缩包中,我们可以找到一系列针对初学者的代码示例,帮助他们快速掌握ASP.NET的基础和常用功能。 1. **C#语言基础**:ASP.NET通常与C#语言结合使用,C#是.NET框架的主要编程语言之一,...

    ASP.Net基础教程

    总的来说,ASP.NET 是一个强大且灵活的 Web 开发平台,通过学习 ASP.NET,开发者可以构建出功能丰富、高性能的 Web 应用,从而在软件行业中脱颖而出。通过本教程的学习,读者将逐步掌握 ASP.NET 的核心概念和技术,...

    Professional.ASP.NET.2.0.XML

    通过本书,读者可以学习到如何在ASP.NET应用程序中有效地使用XML,包括XML文档的创建、解析、验证、查询以及序列化等操作。 首先,书中会介绍XML的基础概念,如XML文档结构、命名空间、DTD(文档类型定义)和XSD...

    ajax+asp.net+mssql无刷新聊天室.rar

    总的来说,这个项目是一个使用Ajax实现无刷新效果的在线聊天室,后端由ASP.NET处理业务逻辑并与MSSQL数据库进行数据交互。用户通过浏览器的JavaScript与服务器进行实时通信,实现聊天室的实时更新。开发者通过这样的...

Global site tag (gtag.js) - Google Analytics