【发布时间】:2015-09-23 20:46:16
【问题描述】:
我目前在一个项目中工作,我想我不太了解 ajax 的工作原理。
这就是我想要做的。
我有一个页面(list.php),默认情况下会呈现成员列表(带有图片等,因此 HTML 有点重)。
我还有一个过滤器,所以当我单击过滤器按钮时,我想在数据库查询中使用该过滤器更改内容。
我知道我可以使用 jQuery $.ajax 将过滤器值发送到 EXTERNAL (updatelist.php) 文件,运行查询并将内容返回为 json,然后使用 $.each呈现新的页面内容。
我的问题是:没有其他方法可以做到这一点吗?也许通过将文件(updatelist.php)包含到主页(list.php)中来在页面加载时运行php函数,然后当我单击过滤器按钮将ajax请求发送到同一个(list.php)时,只有php函数名?
我试过了,但是 php 代码根本没有运行,所以我想我对 php 的工作原理有一个模糊的了解。
我的猜测是加载到一个页面中的 php 仅在页面加载时执行,我无法再次运行它,所以我必须有一个呈现内容的外部文件。
有人能把这一切都清除吗?
你知道我确实搜索了一个答案,但所有人都说了同样的话,我需要 ajax 但没有人完全回答我的问题。
感谢您的宝贵时间。
代码:
$('.test').click(function() {
var data = [];
data.push({name: 'functionName', value: "functionName"});
$.ajax({
type: 'POST',
url: '/list.php',
data: data,
dataType: 'text',
success: function(html) {
}, error : function(e){
alert("ajax error");
}
}).done(function(done) {
});
});
HTML/PHP:
<a class="test">test</a>
<?php
include ( $_SERVER['DOCUMENT_ROOT'] . "/updatelist.php");
?>
updatelist.php 内容
if ( isset($_POST["functionName"]) ) {
functionName();
}
【问题讨论】:
-
向我们展示你到目前为止所做的事情,代码方面
-
我更新了我的问题。谢谢!
标签: javascript php jquery html ajax