2016-12-31 104 views
0

我的当前设置应该jQuery的ajax去同一页或另一个PHP文件?

  1. 我的网站主页(rankings.php)显示在顶部的搜索表单由他们的性别或城市来过滤用户的用户列表。

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

  3. 我的问题:

    • 用两种方法(载,张贴,得到),你需要输入该网址发送请求,但我不知道如果URL应该是rankings.php页面本身或另一个包含mysql查询的php文件从数据库中获取新的结果。哪个最好?应ajax请求转到另一个PHP,然后结果发回到主要的PHP文件,其中的内容将被重新加载,或者如果ajax请求转到它来自同一个php文件,然后jquery用返回的html数据替换内容?

较短的版本问题:要一个AJAX网址指向AJAX请求来自或指向另一个PHP文件,然后将数据返回的页面?

+0

如果你已经有一个服务器端过滤系统,也就是说你可以使用reload进行搜索,那么你可以使用'$()。load'函数http://api.jquery.com/load/有能力加载页面片段,并且您可以轻松替换内容。 –

回答

1

它应该指向执行您需要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代码一个单独的脚本,所以我不必这样做。

相关问题