从jquery运行php脚本

时间:2012-05-26 04:52:20

标签: jquery mysql database pagination

我有一个非常奇怪的问题......不知道是否可以制作,但是虽然我知道如何通过旧的获取网址和刷新页面来做到这一点,但我想尝试使用jquery的新方法来调用通过jquery文件和帖子或'获取'数据但不使用表单。

我将使用<a>链接,如果您访问我的网站http://www.jonathansconstruction.com/gallery.php并且您看到第二个图库菜单,其中显示全部查看,这将过滤要查看的类别并希望显示在它现在显示的div中,我曾经使用的每个类别一个div

<a href = "file.php?catfilter=category">aaa</a>

并且在php端使用$_GET[];,所以我想知道一种不同的方法来传递值来设置类别过滤器,并且还能够使用jquery菜单“当前”。顺便说一下,菜单也将根据数据库中的类别数动态生成..

还要添加“twitter / fb”样式分页(在向下滚动或用户点击显示更多时加载更多数据),但也希望按类别从数据库中获取div。这就是整个想法,我知道如何设置输出并做很多php端将项目组合在一起,但是,我不太确定新的分页样式(用于使用带有页面的单击接下来)以及如何运行/发布数据到没有形式和没有刷新的PHP。

希望这很清楚,如果不让我知道的话。任何有关如何做的帮助/想法表示赞赏。 非常感谢

2 个答案:

答案 0 :(得分:1)

要动态加载数据而不刷新页面,您可以使用 Jquery $ ajax()方法。这是链接

http://api.jquery.com/jQuery.ajax/可帮助您详细了解

你也可以将参数传递给你想要执行的网址/页面,无论你的php文件是什么结果,你可以将它设置到你想要的任何地方

例如:

$.ajax({
  type: "POST",
  url: "file.php",
  data: { catfilter : "category" }
}).done(function( msg ) {
  $("#container").html(msg)
});

file.php

<?php
if(isset($_POST['catfilter']))
{
   //your code here
   echo "your code here";
}
?>

调用上面的jquery ajax方法会将file.php的输出设置为id ='container'的html元素

答案 1 :(得分:0)

无需刷新页面即可加载数据,您可以使用jQuery.Ajax


$.ajax(     
{   
    type: "POST"    
    url:page,
    data: {......}
    beforeSend: function(xhr) {
        $('#load').empty().html('Loading... ');
    },
    success: function(data) {
        $('#load').empty().html(data);
    },
    dataType: "html"    
});

结果将显示在div load中,并从url:page

获取