您现在的位置:诗歌范文 > 西方诗歌

十分钟学会 xajax-php模板-PHP教程-幽默笑话

时间:2019-07-05 07:56   编辑:本站

十分钟学会 xajax-php模板-PHP教程-幽默笑话

文章内容十分钟学会xajax修改时间:[2010/03/0922:27]阅读次数:[1238]发表者:[起缘]译者按:xajax最大的特点是他采用了xmlresponse,这样我们可以用php来布置,处理异步传送数据之后,网页内容的更新。 而这些操作其它的ajax框架都是由js来完成的的。 xajax使我们只需要写一些php函数,就可以实现。 所有学好xajax的关健在于熟练掌握xajaxresponse类。

tutorials:learnxajaxin10minutes教程:十分钟学会xajaxusingxajaxinaphpscript一个使用的xajax的php脚本:includethexajaxclasslibrary:调用xajax类库:require_once();instantiatethexajaxobject:实例化xajax对象$xajax=newxajax();registerthenamesofthephpfunctionsyouwanttobeabletocallthroughxajax:注册一个你想用xajax来调用的php函数名(与javascript中的函数名相对应xajax_myfunction)$xajax-registerfunction(myfunction);writethephpfunctionsyouhaveregisteredandusethexajaxresponseobjecttoreturnxmlcommandsfromthem:编写那个你刚刚已经注册的php函数,并从中用xajaxresponse对象来返回xml指令集functionmyfunction($arg){//dosomestuffbasedon$arglikequerydatafromadatabaseand//putitintoavariablelike$newcontent//对参数$arg做一些诸如:从数据库中获取数据后定义给$newcontent变量的基本操作//instantiatethexajaxresponseobject//实例化xajaxresponse对象$objresponse=newxajaxresponse();//addacommandtotheresponsetoassigntheinnerhtmlattributeof//theelementwithid=someelementidtowhateverthenewcontentis//在响应实例中添加一个命令,用来将id为someelementid的innerhtml元素属性//变为任何新的内容.$objresponse-addassign(someelementid,innerhtml,$newcontent);//returnthexmlresponsegeneratedbythexajaxresponseobject//返回由xajaxresponse对象所生成的xml响应return$objresponse-getxml();}beforeyourscriptsendsanyoutput,havexajaxhandleanyrequests:在你脚本传送出任何东西前,xajax都要处理所有请求$xajax-processrequests();betweenyourhead/headtags,tellxajaxtogeneratethenecessaryjavascript:在该页的head和/head标签之间插入下列代码,使xajax实例可以自己生成所必需的jsphp$xajax-printjavascript();callthefunctionfromajavascripteventorfunctioninyourapplication:从你程序中的js事件或函数调用之前你已经注册过的相对应函数divid=someelementid/divbuttononclick=xajax_myfunction(someargument);thatonsesfromthem--whichismadeextremelyeasybythexajaxresponseclass.只需这些步骤。 其他的交由xajax去处理吧。 你最主要的任务只是编写php中的函数,只要使它们能返回xajax的xml响应就行了,而这步可以用xajaxresponse类轻松解决。 howdoiupdatemycontentasynchronously如何异步更新我的内容ascripttoproce,ontheotherhand,,suchasassign,whichsetsthespecifiedattributeofanelementinyourpage;append,whichappendsdatatotheendofthespecifiedattributeofanelementinyourpage;prepend,whichprependsdatatothebeginningofthespecifiedattributeofanelementinyourpage;replace,whichsearchesforandreplacesdatainthespecifiedattributeofanelementinyourpage;script,whichrunsthesuppliedjavascriptcode;andalert,最独特的长处也许就是xajaxresponseclass了。

其它的ajax库需要你亲自写用js写回调的句柄,来处理一个异步请求而且得到的数据,并更新其内容。 另一方面,xajax只需你简单的控制好php的内容。

然后通过xajaxresponse类,使在你的php函数中创建xml指令返回给你的程序。 xml将被xajax的信息(pump)解析。

其指令告知xajax将如何更新内容和你程序中的位置。

现在xajaxresponse已经提供了大量并有帮助的指令:(略...付上详细的xajaxresponse类说明)asinglexmlresponsemaycontainmultiplecommands,,let,somedatamanipulation,ngmultiplecommandstosendbacktothexajaxmessagepumptobeexecuted:一个单独xml响应可以包含多条命令,他们将依据加入响应的顺序来被执行。

举个例子吧,让我们假设一个用户在你的程序中按下了一个按钮。 这个按下的事件将调用被js封装好的php函数。 这个封包通过xmlhttprequest发出了一个异步请求给服务器,让xajax调用php函数。

这个php函数做了一个查询数据库,一些数据处理或排序的操作。 而你要用xajaxresponse类来产出一个xajax的xml响应,它包含了多条命令。

送给xajax信息pump来执行:$objresponse=newxajaxresponse();$objresponse-addassign(myinput1,value,$datafromdatabase);$objresponse-addassign(myinput1,,red);$objresponse-addappend(mydiv1,innerhtml,$datafromdatabase2);$objresponse-addprepend(mydiv2,innerhtml,$datafromdatabase3);$objresponse-addreplace(mydiv3,innerhtml,xajax,strongxajax/strong);$objresponse-addscript(varx=prompt(\enteryourname\););return$objresponse-getxml();thexajaxmessagepumpwouldparsethexmlmessageandperformthefollowing:xajax信息pump将会解析下列xml信息,并执行以下操作:thevalueoftheelementwithidmyinput1wouldbeassignedtothedatain$datafromdatabase.将变量$datafromdatabase赋值给id为myinput1的value元素。

为myinput1的字体颜色元素将被换成红色.thedatain$datafromdatabase2wouldbeappendedtotheinnerhtmloftheelementwithidmydiv1.$datafromdatabase2,此数据将被追加到id为mydiv1的innerthml元素的结束部位thedatain$datafromdatabase3wouldbeprependedtotheinnerhtmloftheelementwithidmydiv2.$datafromdatabase3,此数据将被添加到id为mydiv2的innerthml元素的开始部位alloccurrencesofxajaxintheinnerhtmloftheelementwithidmydiv3wouldber为mydiv3的innerhtml元素中所有的xajax将被替换成xajax,使所有的xajax以粗体显示。

apromptwouldbedisplayedaskingfortheusersnameandthevaluereturnedfromthepromptwouldbeplacedintoajavascriptvariablenamedx.会有一个输入框弹出,并询问用户姓名。 从输入框取得的变量将转换成js变量并命名为x。 allofthisisimplementedontheserversideinthephpfunctionbyformingandreturninganxajaxxmlresponse.所有这些组成了php函数在服务器端被执行,然后传回一个xml响应。