使用PHPRPC实现Ajax安全登录第1/2页_php基础

PHPRPC 与其它 ajax 框架不同,PHPRPC 遵循的是“只做一件事,并把它做好”的原则。它只负责数据传输,并且将传输做到最好!它将你以前用传统的 ajax 方式做不到或者很难做到的事情变得轻而易举!
相信好多人选择 PHPRPC 的一个主要原因就是它能够让你开发 ajax 应用变得更加容易!尽管 PHPRPC 的强大之处不仅限于此,但我不得不承认,这确实是 PHPRPC 的一大亮点!
所以,我们的第一站,就来看看如何用 PHPRPC 3.0 来编写 ajax 应用吧。

下 面我们举一个最简单的例子(甚至可以算是无聊的例子 :mrgreen: )来说明如何使用 PHPRPC 3.0 编写 ajax 应用。这个例子很好的说明了上面所提到的 MVC 模式如何具体的工作。这里我们先以 PHP 为服务器端的情况为例来说明。我们的第一个例子很简单,客户端输入一段字符串,然后服务器端计算出它的 SHA1 值。

复制代码 代码如下:

<?php
require_once("../php/phprpc_server.php");
$server = new PHPRPC_Server();
$server->add("sha1");
$server->start();
?>

只有这么简单的 4 行代码,就把 PHP 内置的 sha1 函数发布了。现在,客户端可以直接使用这个函数了。

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>计算 SHA1</title>
<script type="text/javascript" src="../js/compressed/phprpc_client.js"></script>
<script type="text/javascript">
var rpc = new PHPRPC_Client('sha1.php', ['sha1']);
function $(id) {
return document.getElementById(id);
}
function showResult(result) {
$('sha1').value = result;
}
function sha1() {
var input = $('sha1').value;
$('sha1').value = "Loading...";
rpc.sha1(input, showResult);
}
</script>
</head>
<body>
<input type="text" id="sha1" />
<input type="button" value="计算 SHA1" onclick="sha1()" />
</body>
</html>

这个例子非常简单,并且跟 PHPRPC 有关的只有两条语句,一条是:

复制代码 代码如下:

var rpc = new PHPRPC_Client('sha1.php', ['sha1']);

这条语句用来创建一个 PHPRPC_Client 对象,第一个参数是服务器地址,这里可以用相对路径,也可以用绝对路径。
而且这个路径可以跨域!因此你可以做跨域的应用!
第二个参数是你需要使用的服务器端的函数名列表,所以,虽然我们这里只有一个函数,也要写成数组的形式。这样我们就有了一个可以调用服务器端方法的客户端对象了。
那该如何调用呢?我们来看第二条关于 PHPRPC 的语句:

复制代码 代码如下:

rpc.sha1(input, showResult);

这条语句相当简单,你会发现我们直接使用了服务器端发布的函数名作为 rpc 对象的一个方法来调用。它的第一个参数就是 sha1 函数的参数值。第二个参数是个函数,这个是回调函数,也就是说,当服务器端方法执行完之后就会自动调用这个函数来完成结果的处理。它是在前面定义的,你会 发现它有一个参数 result,这个参数就是我们的远程过程 sha1 的返回值,它是通过回调函数的这个参数传入的。

当前1/2页 12下一页阅读全文

时间: 2024-11-03 06:09:04

使用PHPRPC实现Ajax安全登录第1/2页_php基础的相关文章

在JS中用ajax判断登录如何写?

问题描述 在JS中用ajax判断登录如何写? 各位大神帮帮忙,这是我自己写得一个方法用的是HTML页面 public class login:System.Web.UI.Page { //private string pwd; //private int id; public LoginInFo loging() { LoginInFo lif = new LoginInFo(); lif.id = 1; lif.pwd = "123456"; lif.userName = "

ECSHOP中实现ajax弹窗登录功能

在上篇文章给大家介绍了使用openSpeDiv方法实现Ecshop登录弹窗框效果,大家点击参考下 下面介绍如何实现AJAX弹窗登录. 在ECSHOP中的user.PHP中有处理用户登录的请求. /* 处理 ajax 的登录请求 */ elseif ($action == 'signin') { include_once('includes/cls_json.php'); $json = new JSON; $username = !empty($_POST['username']) ? json

Asp.Net 和 AJAX.Net 的区别第1/2页_基础应用

原文:http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501ASPNETPerformance.mspx?mfr=true 适用于:AJAX(异步 JavaScript 和 XML)Microsoft AJAX.NETMicrosoft ASP.NET 摘要:了解如何将 AJAX(异步 JavaScript 和 XML)用于您的 Microsoft ASP.NET 应用程序,使其互动性更强.响应更及时. 下载本

用 PHPRPC 实现 Ajax 级联下拉菜单

ajax|菜单|下拉 级联下拉菜单就是从一个下拉菜单中选中一项后,相应的另一个下拉菜单的内容会随之改变. 一般来说,最简单的,就是每次选中都提交一次表单,刷新整个页面.这也是用户体验度最差的. 另一种是把所有选项在第一次加载时就全部载入整个页面中的 javascript 数组中,然后级联通过 JavaScript 来控制,在整个数据量不大时,这是一个不错的实现无刷新并且快速的方法,但是当整个数据量非常大时,这种方法就会使第一次加载变得非常慢了. 还有就是采用 Ajax 方式,即开始只载入第一层菜

用PHPRPC实现Ajax级联下拉菜单

级联下拉菜单就是从一个下拉菜单中选中一项后,相应的另一个下拉菜单的内容会随之改变. 一般来说,最简单的,就是每次选中都提交一次表单,刷新整个页面.这也是用户体验度最差的. 另一种是把所有选项在第一次加载时就全部载入整个页面中的 javascript 数组中,然后级联通过 JavaScript 来控制,在整个数据量不大时,这是一个不错的实现无刷新并且快速的方法,但是当整个数据量非常大时,这种方法就会使第一次加载变得非常慢了. 还有就是采用 Ajax 方式,即开始只载入第一层菜单的内容,当用户选中第

使用php+ajax实现登录功能教程

php登录源码: 下面是chklogin.php页面代码: <?php session_start(); $connect=mysql_connect("127.0.0.1","root","123"); if(!$connect) { die('Could not connect: ' . mysql_error()); } mysql_select_db(design,$connect); $query="select * f

asp.net jQuery Ajax用户登录功能的实现_实用技巧

主页面调用代码片段: 复制代码 代码如下: <asp:HyperLink ID="lnkLogin" runat="server" NavigateUrl="#" >登录</asp:HyperLink> <script language="javascript" type="text/javascript"> $('#<%=this.lnkLogin.ClientI

php ajax 用户登录退出

本例我们使用Mysql数据库,创建一张user表,表结构如下:  代码如下 复制代码 CREATE TABLE `user` (   `id` int(11) NOT NULL auto_increment,   `username` varchar(30) NOT NULL COMMENT '用户名',   `password` varchar(32) NOT NULL COMMENT '密码',   `login_time` int(10) default NULL COMMENT '登录时

php jquery ajax用户登录实例代码

php Jquery 无刷新登录,自己写的一个很简单的 加了一个判断就是如果是已经登录的,刷新后还是显示的登录状态 登录页面文件 html页面  代码如下 复制代码 <script type="text/javascript" src="jquery-1.4.3.js" mce_src="jquery-1.4.3.js"></script> <script type="text/javascript&quo