smarty模板和php之间数据传递问题
我在tpl文件中写了一个点击事件,想用ajax传递,抓包显示的,index.php也读出了数据,但是当前tpl文件显示的还是之前的。
$("#sortbypop").click(function(){
var url = document.URL;
$.get(url,{action:"get",sort:"popsort"},function(data,textStatus){
});
});
这是那段ajax代码。请问要该怎么做?
回复讨论(解决方案)
你的回调函数 function(data,textStatus){} 函数体是空的,当然就什么也不会做了
具体要做些什么事情,要取决于你设计的场景
原来是徐前辈!找到高手了。
是这样,因为我不需要执行什么,我想做的就是在index.tpl中提交一个参数,让后台php程序获取之后重新读取下数据库数据,然后再显示出来。流程相当于 tpl-->提交参数--->php获取重新读数据--->tpl中更新显示 就是这个功能。关键是我的数据是在index.php中读出来的,然后display(index.tpl)了。现在想做的就是,tpl往回传参数,php重新读,再重新传数据给tpl。我已经被绕晕了。。。。
你的回调函数 function(data,textStatus){} 函数体是空的,当然就什么也不会做了
具体要做些什么事情,要取决于你设计的场景
就是点击那个新品排序和点击排序之后,会显示不同数据
在 function( data,textStatus){} 中
data 显然是返回的数据,怎么展示这个数据,与你的设计有关。别人如何知道?
在 function( data,textStatus){} 中
data 显然是返回的数据,怎么展示这个数据,与你的设计有关。别人如何知道?
这个回调函数可以不用,我是用来测试的。我是说我那个思路要该怎么实现,其实就是一个很简单的问题,我估计绕进去了。说白点就是
php 读出了一行数据,然后显示到了模板中。现在模板有个按钮功能,要求php重新把数据排序,然后再显示到模板。具体流程就是前端页面 tpl-->php-->tpl这样。现在我做的测试。alert了下回调函数里的data,显示的是新数据html完整代码。就是说,回调函数返回的数据中,连php文件中的 display(tpl)文件也返回了。所以返回的是一整个html代码。但是当前的tpl页面没有变化。我想做的功能就是,点击下,然后中间显示的图片顺序变化了。不点击,就是默认的顺序。
那个回调函数是非用不可的,并且那个 data 只应该是需要变化的那个区域的内容
于是你用 data 替换掉目标区域的内容不就完事了?
那就是js操作了,用data 替换掉下面的内容就可以啦。
那个回调函数是非用不可的,并且那个 data 只应该是需要变化的那个区域的内容
于是你用 data 替换掉目标区域的内容不就完事了?
现在主要是data请求的是index.php。所以返回了index.php中所有数据,包括display(tpl)。现在data里数据是一整个html页面内容了。里面数据不好拿出来。想看看有没有更方便的办法
如果要用 ajax 来做局部刷新,那么你就得将模板拆开。即不同的需求用不同的模板
如果你要整体刷新,就不要用 ajax
如果要用 ajax 来做局部刷新,那么你就得将模板拆开。即不同的需求用不同的模板
如果你要整体刷新,就不要用 ajax
原来只是分开就可以了。我一直在追求整体刷新使用ajax,走错方向了,太偏执了我。多谢徐老师!