xajax 问题

clzdl 2008-08-04 05:48:24
这是用Smarty 和xajax写的,经过多次试验得知 refreshContent()函数未能执行,但找了很长时间没找到错出在呢,希望大家帮忙看看,先谢谢了!

<?php
require_once( 'Config/Config.inc.php');
require_once('xajax/xajax_core/xajax.inc.php');
$xajax = new xajax();

function loadContent($n){
global $Smarty;
if($n==0){
$data[] = array('title' =>'helloworld','content' =>'<p>what is going on?</p>');
$data[] = array('title' =>'another item','content' => '<p>nothing fancy</p>');
}
else if($n == 1){
echo '=============';
$data[] = array('title' =>'Dynamically loaded' , 'content' => '<p>There you go</p>');
}
$Smarty ->assign('posts' ,$data);
$ret = $Smarty ->fetch('post.html');
$Smarty ->clear_all_assign();
return $ret;
}
function refreshContent($formValues){// 问题此函数不能执行
$response= new xajaxResponse();
$newContent = loadContent($formValues['select_page']);
$response ->addAssign('content','innerHTML',$newContent);
return $response;
}
$xajax ->registerFunction('refreshContent');
$xajax->processRequest();

$Smarty ->assign('content',loadContent(0));
$Smarty ->assign('xajaxjavascript',$xajax ->getJavascript('xajax/'));
$Smarty ->display('main.html');
?>

post.html
<html>
<body>
<%{foreach from = $posts item = post}%>
<div>
<h2><%{$post.title}%></h2>
<%{$post.content}%>
</div>
<%{/foreach }%>
</body>
</html>

main.html

<html>
<head>
<%{$xajaxjavascript}%>
</head>
<body>
<div id="header">
<h1>Smarty $amp;xajax</h1>
</div>
<form id="frm_switcher" method="POST" >
更换内容
<select name="select_page" onchange="xajax_refreshContent(xajax.getFormValues('frm_switcher'));">
<option value="0" selected='selected'>页面索引 0</option>
<option value="1" > 页面索引 1</option>
</select>
</form>
<div id ="content">
<%{$content}%>
</div>
</body>
</html>
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
clzdl 2008-08-07
  • 打赏
  • 举报
回复
我问题解决了,把refreshContent 中的echo语句删除就好使了,看来不要随便在xajax中用echo随便输出。
clzdl 2008-08-07
  • 打赏
  • 举报
回复
以下debug得到,虽然我看不是很懂 ,但感觉没错了,就是显示不出来这是为什么呢?高手们帮帮忙啊!


Thu Aug 7 14:23:40 UTC+0800 2008
DONE [125ms]Thu Aug 7 14:23:40 UTC+0800 2008
RECEIVED [status: 200, size: 229 bytes, time: 94ms]:ldkfjdlddddddd<?xml version="1.0" encoding="utf-8" ?><xjx><cmd cmd="as" id="content" prop="innerHTML"><![CDATA[S<html> <body> <div> <h2>Dynamically loaded</h2> <p>There you go</p> </div> </body> </html>]]></cmd></xjx>Thu Aug 7 14:23:40 UTC+0800 2008
SENT [142 bytes]Thu Aug 7 14:23:40 UTC+0800 2008
SENDING REQUESTThu Aug 7 14:23:40 UTC+0800 2008
CALLING: xjxfun: refreshContentURI: http://localhost/phonemanager/xajax_smarty.phpThu Aug 7 14:23:39 UTC+0800 2008
POST: xjxfun=refreshContent&xjxr=1218090219843&xjxargs[]=<xjxobj><e><k>select_page</k><v>S1</v></e></xjxobj>Thu Aug 7 14:23:39 UTC+0800 2008
INITIALIZING REQUEST OBJECTThu Aug 7 14:23:39 UTC+0800 2008
PREPARING REQUESTThu Aug 7 14:23:39 UTC+0800 2008
OBJECT TO XML: size = 1Thu Aug 7 14:23:39 UTC+0800 2008
OBJECT TO XML: maxDepth = 20, maxSize = 2000Thu Aug 7 14:23:39 UTC+0800 2008
PROCESSING PARAMETERS [1]Thu Aug 7 14:23:39 UTC+0800 2008
INITIALIZING REQUESTThu Aug 7 14:23:39 UTC+0800 2008
STARTING XAJAX REQUEST
clzdl 2008-08-06
  • 打赏
  • 举报
回复
我是检查不出来才把代码贴出来的,大家看一眼吧,谢谢!
cuidenghong123 2008-08-04
  • 打赏
  • 举报
回复
仔细检查
xuzuning 2008-08-04
  • 打赏
  • 举报
回复
执行php代码,并检查源文件内容是否正确

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧