六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 117|回复: 0

prototype ajax Updater

[复制链接]

升级  1.4%

153

主题

153

主题

153

主题

进士

Rank: 4

积分
507
 楼主| 发表于 2013-2-7 19:16:35 | 显示全部楼层 |阅读模式
创建reply_updater.php文件,内容如下:
<span style="color: graytext;">是吗?</span>



创建updater.php文件,内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../prototype_1_6.js"></script>
<title>prototype 的Updater</title>

</head>
<body>
<script type="text/javascript">
<!--
var url ="reply_updater.php";
new Ajax.Updater("div1",url,{
    method:'get'
    }   
);
//-->
</script>
<br />
<div id="div1"></div>
</body>
</html>




当我们访问update.php时div1标签对象将显示reply_update.php的内容。


===============加入参数=============

updater.php文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../prototype_1_6.js"></script>
<title>prototype 的Updater</title>

</head>
<body>
<script type="text/javascript">
<!--
var url ="reply_updater.php";
new Ajax.Updater("div1",url,{
    method:'get',
    parameters:'param=1' //加入参数
    }   
);
//-->
</script>
<br />
<div id="div1"></div>
</body>
</html>


reply_updater.php文件:
<?php
    if($_GET['param']==1){
        echo "<span style=\"color: graytext;\">是吗?</span>";
    }elseif ($_GET['param']==2){
        echo "<span style=\"color: green;\">是的啊!</span>";
    }   
 ?>


===============加入返回处理选项=============
updater.php文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../prototype_1_6.js"></script>
<title>prototype 的Updater</title>

</head>
<body>
<script type="text/javascript">
<!--
var url ="reply_updater.ph";  //在这里我们把php扩展名去掉一个p,让ajax执行时出错。
new Ajax.Updater({success:"div1"},url,{
    method:'get',
    parameters:'param=4',
    onFailure:reportError
    }   
);
function reportError(request){
    alert(request.toString());
    alert("Sorry. there was and error.");
}

//-->
</script>
<br />
<div id="div1"></div>
</body>
</html>



reply_updater.php文件:
<?php
    if($_GET['param']==1){
        echo "<span style=\"color: graytext;\">是吗?</span>";
    }elseif ($_GET['param']==2){
        echo "<span style=\"color: green;\">是的啊!</span>";
    }   
 ?>



在上头是使用onFailure:reportError 的javascript进行处理的,而接下来下面是用failure:'error'的div进行显示错误提示。


===================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../prototype_1_6.js"></script>
<title>prototype 的Updater</title>

</head>
<body>
<script type="text/javascript">
<!--
var url ="reply_updater.ph";
new Ajax.Updater({success:"div1",failure:'error'},url,{
    method:'get',
    parameters:'param=4'
    }   
);
//-->
</script>
<br />
<div id="div1"></div>
<div id="error"></div>
</body>
</html>



访问updater.php后出现以下结果:

============插入javascript代码==================
reply_updater.php的内容为:
<?php
    if($_GET['param']==1){
        echo <<<EXCERPT
        <script language="javascript" type="text/javascript">
            sayHi= new function(){
                alert('Hi');
            }
        </script>
        <input type=button value="Click Me" >       
EXCERPT;

    }elseif ($_GET['param']==2){
        echo <<<EXCERPT
        <script language="javascript" type="text/javascript">
            function sayHi(){
                alert('Hi');
            }
        </script>
        <input type=button value="Click Me" >       
EXCERPT;

    }   
 ?>


updater.php内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../prototype_1_6.js"></script>
<title>prototype 的Updater</title>

</head>
<body>
<script type="text/javascript">
<!--
var url ="reply_updater.php";
new Ajax.Updater({success:"div1",failure:'error'},url,{
    method:'get',
    parameters:'param=1',// javascript定议格式要跟参数1格式相同才可被执行。
    evalScripts:true //要把这个参数设置为true就右以在ajax返回后执行返回javascript。
    }   
);
//-->
</script>
<br />
<div id="div1"></div>
<div id="error"></div>
</body>
</html>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表