|
相信好多人選擇 phpRPC 的一個主要原因就是它能夠讓你開發(fā) ajax 應(yīng)用變得更加容易!盡管 phpRPC 的強大之處不僅限于此,但我不得不承認,這確實是 phpRPC 的一大亮點!
所以,我們的第一站,就來看看如何用 phpRPC 3.0 來編寫 ajax 應(yīng)用吧。
下 面我們舉一個最簡單的例子(甚至可以算是無聊的例子 :mrgreen: )來說明如何使用 phpRPC 3.0 編寫 ajax 應(yīng)用。這個例子很好的說明了上面所提到的 MVC 模式如何具體的工作。這里我們先以 php 為服務(wù)器端的情況為例來說明。我們的第一個例子很簡單,客戶端輸入一段字符串,然后服務(wù)器端計算出它的 SHA1 值。
復(fù)制代碼 代碼如下:
<?php
require_once("../php/phprpc_server.php");
$server = new phpRPC_Server();
$server->add("sha1");
$server->start();
?>
只有這么簡單的 4 行代碼,就把 php 內(nèi)置的 sha1 函數(shù)發(fā)布了。現(xiàn)在,客戶端可以直接使用這個函數(shù)了。
復(fù)制代碼 代碼如下:
<!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 有關(guān)的只有兩條語句,一條是:
復(fù)制代碼 代碼如下:
var rpc = new phpRPC_Client('sha1.php', ['sha1']);
這條語句用來創(chuàng)建一個 phpRPC_Client 對象,第一個參數(shù)是服務(wù)器地址,這里可以用相對路徑,也可以用絕對路徑。
而且這個路徑可以跨域!因此你可以做跨域的應(yīng)用!
第二個參數(shù)是你需要使用的服務(wù)器端的函數(shù)名列表,所以,雖然我們這里只有一個函數(shù),也要寫成數(shù)組的形式。這樣我們就有了一個可以調(diào)用服務(wù)器端方法的客戶端對象了。
那該如何調(diào)用呢?我們來看第二條關(guān)于 phpRPC 的語句:
復(fù)制代碼 代碼如下:
rpc.sha1(input, showResult);
這條語句相當簡單,你會發(fā)現(xiàn)我們直接使用了服務(wù)器端發(fā)布的函數(shù)名作為 rpc 對象的一個方法來調(diào)用。它的第一個參數(shù)就是 sha1 函數(shù)的參數(shù)值。第二個參數(shù)是個函數(shù),這個是回調(diào)函數(shù),也就是說,當服務(wù)器端方法執(zhí)行完之后就會自動調(diào)用這個函數(shù)來完成結(jié)果的處理。它是在前面定義的,你會 發(fā)現(xiàn)它有一個參數(shù) result,這個參數(shù)就是我們的遠程過程 sha1 的返回值,它是通過回調(diào)函數(shù)的這個參數(shù)傳入的。
php技術(shù):使用PHPRPC實現(xiàn)Ajax安全登錄第1/2頁,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。