jquery在sp中,如何返回结果集

#1 coolcool1265

jquery与sp结合的过程中,遇到一个问题:

如果controller返回ajax的是一个
echo json_encode(array('ret'=>true,'content'=>$this->result));exit;

我在前台如何将$this->result的数据循环出来呢?
------------------------------------------------------------
尝试了使用下面的方法,但是不行的

【方法一】
$.post(url,
                {},                               
                function(data){
                        if(data.ret){
                                $('listcontent').show();
                                $('listcontent').html('<{foreach from=$result item=list}><{list.name}><{/foreach}>');
                        }else{
                                $('listcontent').show();
                                $('listcontent').html('error');
                        }
                },
'json');



【方法二】
提前在输出的页面,写出
<{foreach from=$result item=list}><{list.name}><{/foreach}>
这种方法也是不行的,因为ajax还没有出发,页面上的$result就已经被smarty解析出来了。


求教,如何解决呢?

2011-10-25 00:16:23

#2 coolcool1265

问题简单来说就是

如何将data.content转化为smarty认识的变量
或者
如何将后台处理的数据,传递到前台?

2011-10-25 00:29:06

#3 jake

先区分一下:smarty是服务器内,在PHP环境下执行的。JS(jQuery)是在浏览器内执行的。

简单来说就是,先执行smarty,后执行jQuery,所以你希望通过jQuery的结果再来执行smarty是不行的。

建议多看看JS,HTML,PHP等相关的基础。尤其是PHP和HTML的关系。

jQuery在SP里面的使用:http://www.speedphp.com/interaction-ajax.html

2011-10-25 06:09:56

#4 coolcool1265

O(∩_∩)O谢谢哈~

2011-10-25 08:10:56

#5 coolcool1265

已经找到解决思路了,还是基础不扎实呀。

前台,通过jquery对json数据进行解析,即可获得后台发过来的数据了。

2011-10-25 20:09:43