簡介:這是使用PHPRPC實現AJAX安全登入的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=362311' scrolling='no'>
PHPRPC 是一個輕型的、安全的、跨網際的、跨語言的、跨平台的、跨環境的、跨域的、支援複雜物件傳輸的、支援引用參數傳遞的、支援內容輸出重新導向的、支援分級錯誤處理的、支援會話的、面向服務的高效能遠端程序呼叫協議。
PHPRPC 與其它 ajax 架構不同,PHPRPC 遵循的是“只做一件事,並把它做好”的原則。它只負責資料轉送,並且將傳輸做到最好!它將你以前用傳統的 ajax 方式做不到或者很難做到的事情變得輕而易舉!
相信好多人選擇 PHPRPC 的一個主要原因就是它能夠讓你開發 ajax 應用變得更加容易!儘管 PHPRPC 的強大之處不僅限於此,但我不得不承認,這確實是 PHPRPC 的一大亮點!
所以,我們的第一站,就來看看如何用 PHPRPC 3.0 來編寫 ajax 應用吧。
下 面我們舉一個最簡單的例子(甚至可以算是無聊的例子 )來說明如何使用 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 的傳回值,它是通過回呼函數的這個參數傳入的。
官方資料:http://www.phprpc.org/zh_CN/
愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具
http://biancheng.dnbcw.info/php/362311.html pageNo:1