Home  >  Article  >  Backend Development  >  Using PHPRPC to implement Ajax secure login Page 1/2_PHP Tutorial

Using PHPRPC to implement Ajax secure login Page 1/2_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:23:35894browse

PHPRPC is different from other ajax frameworks. PHPRPC follows the principle of "just do one thing and do it well". It is only responsible for data transmission and does the best possible job! It makes things that you couldn't do or were difficult to do using traditional ajax methods become a piece of cake!
I believe one of the main reasons why many people choose PHPRPC is that it can make it easier for you to develop ajax applications! Although the power of PHPRPC is not limited to this, I have to admit that this is indeed a highlight of PHPRPC!
So, our first stop is to see how to use PHPRPC 3.0 to write ajax applications.

Below we give the simplest example (even a boring example :mrgreen: ) to illustrate how to use PHPRPC 3.0 to write an ajax application. This example is a good example of how the MVC pattern mentioned above works. Here we first take the case where PHP is the server side as an example to illustrate. Our first example is simple, the client inputs a string, and the server calculates its SHA1 value.

Copy code The code is as follows:

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

With only such a simple 4 lines of code, PHP's built-in sha1 function is released. Now, clients can use this function directly.
Copy code The code is as follows:





Calculate SHA1< ;/title> <br><script type="text/javascript" src="../js/compressed/phprpc_client.js"></script> <br><script type="text/javascript "> <br>var rpc = new PHPRPC_Client('sha1.php', ['sha1']); <br>function $(id) { <br>return document.getElementById(id); <br>} <br>function showResult(result) { <br>$('sha1').value = result; <br>} <br>function sha1() { <br>var input = $('sha1').value; <br>$('sha1').value = "Loading..."; <br>rpc.sha1(input, showResult); <br>} <br></script> <br></head> <br><body> <br><input type="text" id="sha1" /> <br><input type="button" value="Calculate SHA1" onclick="sha1()" /> <br></body> <br></html> <br> </div> <br>This example is very simple, and there are only two statements related to PHPRPC, one is: <br><div class="codetitle"> <span style="CURSOR: pointer" onclick="doCopy('code66905')"><u>Copy code</u></span> The code is as follows:</div> <div class="codebody" id="code66905"> <br>var rpc = new PHPRPC_Client('sha1.php', ['sha1']); <br> </div> <br>This statement is used to create a PHPRPC_Client object. The first parameter is the server address. You can use a relative path or an absolute path here. <br>And this path can cross domains! So you can do cross-domain applications! <br>The second parameter is a list of server-side function names you need to use, so even though we only have one function here, it must be written in the form of an array. Now we have a client object that can call server-side methods. <br>How to call it? Let’s look at the second statement about PHPRPC: <br><div class="codetitle"> <span style="CURSOR: pointer" onclick="doCopy('code6426')"><u>Copy code </u></span> The code is as follows: </div> <div class="codebody" id="code6426"> <br>rpc.sha1(input, showResult ); <br> </div> <br>This statement is quite simple. You will find that we directly use the function name published by the server as a method of the rpc object to call. Its first parameter is the parameter value of the sha1 function. The second parameter is a function, which is a callback function. That is to say, when the server-side method is executed, this function will be automatically called to complete the result processing. It was defined earlier, and you will find that it has a parameter result, which is the return value of our remote process sha1, which is passed in through this parameter of the callback function. <br><br> <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/324466.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http: //www.bkjia.com/PHPjc/324466.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">PHPRPC is different from other ajax frameworks, PHPRPC follows the principle of "just do one thing and do it well" principle. It is only responsible for data transmission and will do the best possible job! It will transfer what you used to use...</span> </div> <div class="art_confoot"></div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Statement:</span><div>The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn</div></div></div><div class="nphpSytBox"><span>Previous article:<a class="dBlack" title="Code to find the maximum and minimum value of a PHP array_PHP Tutorial" href="http://m.php.cn/faq/308876.html">Code to find the maximum and minimum value of a PHP array_PHP Tutorial</a></span><span>Next article:<a class="dBlack" title="Code to find the maximum and minimum value of a PHP array_PHP Tutorial" href="http://m.php.cn/faq/308878.html">Code to find the maximum and minimum value of a PHP array_PHP Tutorial</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>Related articles</h2><em><a href="http://m.php.cn/article.html" class="bBlack"><i>See more</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/faq/1.html" title="How to use cURL to implement Get and Post requests in PHP" class="aBlack">How to use cURL to implement Get and Post requests in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/faq/2.html" title="All expression symbols in regular expressions (summary)" class="aBlack">All expression symbols in regular expressions (summary)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/"><b class="icon1"></b><p>Home</p></a></li><li><a href="http://m.php.cn/course.html"><b class="icon2"></b><p>Course</p></a></li><li><a href="http://m.php.cn/wenda.html"><b class="icon4"></b><p>Q&A</p></a></li><li><a href="http://m.php.cn/login"><b class="icon5"></b><p>My</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/"><b class="icon1"></b><span>Home</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/course.html"><b class="icon2"></b><span>Course</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/article.html"><b class="icon3"></b><span>Article</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/wenda.html"><b class="icon4"></b><span>Q&A</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/dic.html"><b class="icon6"></b><span>Dictionary</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/course/type/99.html"><b class="icon7"></b><span>Manual</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/xiazai/"><b class="icon8"></b><span>Download</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/faq/zt" title="Topic"><b class="icon12"></b><span>Topic</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/" >Home</a></div><div class="swiper-slide"><a href="http://m.php.cn/article.html" class="hover">Article</a></div><div class="swiper-slide"><a href="http://m.php.cn/wenda.html" >Q&A</a></div><div class="swiper-slide"><a href="http://m.php.cn/course.html" >Course</a></div><div class="swiper-slide"><a href="http://m.php.cn/faq/zt" >Topic</a></div><div class="swiper-slide"><a href="http://m.php.cn/xiazai" >Download</a></div><div class="swiper-slide"><a href="http://m.php.cn/game" >Game</a></div><div class="swiper-slide"><a href="http://m.php.cn/dic.html" >Dictionary</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>