/ AJAX

优化program-o

本次优化的主要目的为减少网络数据传输,原版的program-o会将存储各项数据的$response_Array放入表单传递,每次对话都要传递两次,对话越多传递的数据就越多,这样会严重浪费带宽资源,特别是当用户数量很多的时候对服务器的负担也很重。

所以优化的方案很简单,把$response_Array放在$_SESSION中存储,然后就可以使用ajax技术优化用户体验。

首先修改bot/chat.php。

1.替换

if( (isset($_POST[‘action’])) && (trim($_POST[‘chat’])!=””))

if(trim($_POST[‘chat’])!=””)

2.删除if($_POST[‘action’]==”checkresponse”)以及对应的两个大括号。

3.在

runDebug(“”,3,”Post Detected”,”
Array Name = Not in array
All memory cleared”);

上面增加一句

$_SESSION[‘response_Array’] = resetResponses($response_Array);

4.替换

$response_Array=$_POST[‘response_Array’];

$response_Array = $_SESSION[‘response_Array’];

5.替换

if(isset($response_Array[‘input’][$i]))
{
$res .= “

You: “.stripslashes(urldecode($response_Array[‘input’][$i])).”
”;
$res .= “
Bot: “.restorechinese(stripslashes(urldecode($response_Array[‘that’][$i]))).”
”; //leo modify
}
else
{
$res .= “
 
”;
$res .= “
 
”;
}

if(isset($response_Array[‘input’][$i]))
{
$res=restorechinese(stripslashes(urldecode($response_Array[‘that’][$i])));
}

6.替换

$formchat = formchat($response_Array);

$_SESSION[‘response_Array’] = resetResponses($response_Array);

注意:共两处

7.删除

for($i=0;$i<=$convoLines;$i++)
{
$res .= “

 
”;
$res .= “
 
”;
}

8.在最后增加echo $res;

下面修改index.php:

加入如下script

内容修改为

body修改为

优化program-o
Share this