• Ajax的xajax类


    xajax 网页开发步骤

    1. 构建对象及初始化设置

    require_once(“ ./xajax/xajax_core/xajax.inc.php”);  //包含类文件

    $xajax= new  xajax();  //创建对象

    $xajax->configure(“javascript URL”,”./”)  //设置javascript 路径

    autoCompressJavascript(‘./xajax/xajax_js’);

    路径程序可以自己设置,算法很精良,一般不会出错 。

    2.注册响应函数

    处理请求/产生响应函数的操作都可以封装在一个自定义的 “响应函数”中,并用前一步创建的xajax 对象调用 register() 方法注册”响应函数”也就是让 xajax 知道当发生异步请求时,它要调用谁来处理。

    $xajax->register( XAJAX_FUNCTION ,’adding’);  //注册响应函数

    XajaxRequst 类提供的方法来产生此段程序。

             要产生客户端调用响应函数的JavaScript 程序代码,必须在注册响应函数时获取其返回的XajaxRequest 对象。(也就是说xajax->register() 函数返回XajaxRequest类对象)。

    1XajaxRequest 类对象的 addParameter() 方法

             此方法的用途是设置客户端的 xajax_xxx() 调用中所要加入的参数。加入的方式是在调用方法时,指定参数的类型及参数值。

                       $Request->addParameter( sType , sValue)

    其中: sType :参数类型   sValue :参数值

    类型:              XAJAX_FORM_VALUES

                                XAJAX_INPUT_VALUES

                                XAJAX_CHEKED_VALUES

                                XAJAX_ELEMENT_INNERHTML

                                XAJAX_JS_VALUE           好多好多

    2在需要调用JavaScript 程序的位置,调用 printscript()输出客户端的xajax_xxx()调用。

    比如 onclick=”$Request->printscript()”;

    3.请 xajax 处理异步请求

    $xajax->processRequest();  //处理异步请求

    l  判断客户端调用的是哪一个响应函数。

    l  以客户端请求中发送的参数调用响应函数来处理。

    l  响应函数处理完毕后, processRequest 会调用 exit()结束程序。

    4.编写响应函数

             用register() 方法注册响应函数后,就必须编写这个响应函数,返回处理后的结果。

    响应函数是使用xajaxResponse 类对象的 assign() 方法设置响应的内容。

             $objResponse=new xajaxResponse();

             $objResponse->assign( $sTarget , $sAttribute , $sData);

    其中:  $sTarget :要设置的HTML元素的id。

                       $sAttribute: 要设置的属性名称。

                       $sData: 要设置的 填充内容。

    1assign()方法指定更改某个标记的内容来产生要响应给客户端数据。

    2append(),prepend()这两个方法用法与语法与 assign() 类似,只不过是将数据”追加”到指定标记现有数据的 后面/前面。

    3$objResponse->alert(‘来自PHP的信息’);

             alert()的参数是一个文字信息,它会让客户端执行 Javascript 的 alert()显示信息框。

    4call()以客户端的JavaScript 函数为参数调用此方法。

                                $objResponse->call(‘test’);

    5script()方法是在客户端执行一段JavaScript 程序,调用时必须将 “客户端要执行的程序”(字符串)当成 script()的参数。

                                $objResponse->script(‘window.close()’);

    6redirect()方法的作用是让客户端重定向参数所指的网页。

                                $objResponse->redirect(‘http://www.flag.com’);

    5. 输出JavaScript 程序代码

             最后要处理的就是客户端的JavaScript 程序,虽然我们不必自行编写AJAX的Javascript 程序,但是仍然需要请xajax帮忙输出这些程序。

             在网页的<head>段落中调用xajax的printJavaScript()方法,即可输出xajax的JavaScript程序代码。

                                $xajax->printJavaScript();  //此处参数与URL正确设置有关

    错误提示:

             Error: the xajax javascript component could not be included.

                        Perhaps the URL is incorrect?

                        URL: ../xajax_js/xajax_core.js

    在printJavaScript()输出的程序代码中,除了 xajax 共享的部分外,它也会替前面注册的PHP响应函数产生对应的 xajax_xxx() 函数供我们在客户端使用。

    特别说明:异步调用很好用的一点是在框架里边。异步的内容设定为"heredoc" or "newdoc"(php5.3)的内容,可以实现一个页面不重新加载的情况下显示

    两种或者以上的内容。

  • 相关阅读:
    滑动窗口(单调队列)
    蒜头君的排序
    P2024 食物链
    STL
    P2880 [USACO07JAN]平衡的阵容Balanced Lineup(RMQ的倍增模板)
    LCA的两种写法
    P1439 最长公共子序列(nlognLCS问题)
    P3383 【模板】线性筛素数
    P2158 [SDOI2008] 仪仗队(欧拉函数模板)
    alifhab
  • 原文地址:https://www.cnblogs.com/air5215/p/5380051.html
Copyright © 2020-2023  润新知