我当前的设置
我的网站主页 (rankings.php) 显示用户列表,顶部有一个搜索表单,可按性别或城市过滤用户。
我想使用 jquery ajax 来更新结果而不重新加载页面。
我的问题:
- 无论使用哪种方法(load、post、get),您都需要输入 url 来发送请求,但我不确定 url 应该是rankings.php 页面本身还是另一个保存 mysql 查询的 php 文件从数据库中获取新结果。哪个最好? ajax 请求是否应该转到另一个 php,然后将结果发送回主 php 文件,其中内容将被重新加载,或者 ajax 请求是否应该转到它来自的同一个 php 文件,然后 jquery 用返回的 html 数据替换内容?
问题的简短版本:ajax url 应该指向 ajax 请求来自的页面还是指向另一个 php 文件,然后返回数据?
最佳答案
它应该指向执行您需要 AJAX 请求执行的任何功能的脚本的 URL。它可以与包含调用者的页面相同或不同的 URL。如果是同一页面,则需要在脚本中添加条件,通常通过检查参数来检测它是否用于处理 AJAX 请求或显示常规页面。
例如,您可以使用以下方式发送 AJAX 请求:
$.ajax({
url: '<?php echo $_SERVER['PHP_SELF']; ?>',
type: 'post',
data: { action: 'dosomething', ... },
...
});
然后在 PHP 脚本中,您将执行以下操作:
if (isset($_POST['action']) {
// code to process AJAX request
} else {
// code to display the page HTML
}
我通常发现将 AJAX 代码放在单独的脚本中更简单,因此我不必这样做。
关于php - jquery ajax 应该转到同一页面还是另一个 php 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404345/