设为首页 收藏本站
查看: 543|回复: 0

[经验分享] 在PHP中使用ASP.NET AJAX

[复制链接]

尚未签到

发表于 2015-8-25 10:19:20 | 显示全部楼层 |阅读模式
  借助于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 Demo</title>
    <script type="text/javascript" src="MicrosoftAjaxLibrary/MicrosoftAjax.js"></script>
    <script type="text/javascript" src="EmployeeService.php/js"></script>
</head>
  
  程序的UI部分很简单,按钮用来触发异步调用,<div />用来显示调用结果:



<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: <br />");
    sb.append("Id: " + result.Id + "<br />");
    sb.append("Name: " + result.Name + "<br />");
    sb.append("Email: " + result.Email + "<br />");
    sb.append("Salary: " + result.Salary + "<br />");

    $get("resultDiv").innerHTML = sb.toString();
}
  
  大功告成!
  
  示例程序界面
  第一次访问
DSC0000.png
  
  点击Get an Employee按钮后
DSC0001.png
  
  示例程序代码下载
  在这里呢:ASPNETAJAXOnPHP.zip
  
  好一阵子没用PHP了,生疏了不少。不过照猫画虎还是做出来了,这个项目我觉得非常有前途,各位朋友不妨参与一下。这一段比较忙,没写什么技术文章,这一篇也是草草而为,请朋友们见谅。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103918-1-1.html 上篇帖子: php调用matlab 下篇帖子: php获取页面并切割页面div内容
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表