php - jquery ajax 应该转到同一页面还是另一个 php 文件?

标签 php jquery mysql ajax

我当前的设置

  1. 我的网站主页 (rankings.php) 显示用户列表,顶部有一个搜索表单,可按性别或城市过滤用户。

  2. 我想使用 jquery ajax 来更新结果而不重新加载页面。

  3. 我的问题:

    • 无论使用哪种方法(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/

相关文章:

PHP - 识别函数何时被调用

javascript - 使用选定的表输入更新特定的 div 输入

javascript - 如何从父元素触发href点击事件

php - 数据库查询在表单提交更新后重新加载一次

mysql - 如何通过在 Ruby Rails 平台上运行 sql 脚本来为 mysql 数据库做种?

MySQL 年份比较

php - php 无法识别 iframe src

PHP simplexml逆向

php - Docker 服务构建失败 : return a non-zero code 1

javascript - html5 canvas 包括颜色选择