轉帖|其它|編輯:郝浩|2008-09-24 11:36:05.000|閱讀 1113 次
概述:在PHP中使用ASP.NET AJAX
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
借助于CodePlex上開源項目PHP for Microsoft AJAX Library的幫助,我們已經可以在PHP上使用ASP.NET AJAX的很多核心功能了。
下載安裝:
PHP for Microsoft AJAX Library目前僅僅處于Alpha階段,想實際使用似乎還早了點,只能嘗鮮了。預先需求有PHP 5.2版本,且必須安裝了php-json模塊。下載地址://www.codeplex.com/phpmsajax/Release/ProjectReleases.aspx?ReleaseId=1692
安裝方法:
下載PHP for Microsoft AJAX Library并解壓縮
下載Microsoft AJAX Library(//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
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:個人博客