在开始之前,我正在使用PHP和JS lib Prototype来处理我的代码中的Ajax。
所以我的问题如下: 我正在使用以下函数将php文件加载到目标DIV
function ajaxUpdater(id, url)
{
new Ajax.Updater('targetDiv', 'data.php', {asynchronous: true});
}
使用按钮内的onClick函数,我抓取data.php的内容并将其显示在ID为'targetDiv'的DIV中。
问题是这个。
data.php中有一些我希望隐藏的东西,只有在触发事件时才显示。 我一直在尝试大量不同的解决方案,但似乎没有任何效果。 (只是为了增加混乱,函数在data.php单独打开时工作,但在使用我的ajax函数加载data.php时不起作用。
任何帮助或线索或任何事情都将不胜感激!
答案 0 :(得分:0)
弘树,
我建议用Ajax方法传递一些参数,并使用data.php中的一些逻辑来挑选和选择要发回的数据。这是我如何使用原型调用传递参数的示例。
new Ajax.Updater('targetDiv', 'data.php', {
parameters: { myParam1: 'hello', myParam2: 'world'}
});
进入data.php文件以创建一些逻辑。请注意,默认情况下,原型发送params的方法是POST,但您可以通过在同一个Ajax.Updater调用中声明method: 'get'
来改变它,如下所示:
new Ajax.Updater('targetDiv', 'data.php', {
method: 'get',
parameters: { myParam1: 'hello', myParam2: 'world'}
});
答案 1 :(得分:0)
查看Prototype API的AJAX部分。在其中,它讨论了一个可以使用的名为'evalJS'的选项,您可以将其设置为true。如果设置了此选项,则会更新updater返回的任何javascript并按正常方式运行。
function ajaxUpdater(id, url) {
new Ajax.Updater('targetDiv', 'data.php', {
asynchronous: true,
evalJS: true
});
}