我想通过菜单中的多个查询字符串将动态内容加载到特定的div名称.
index.PHP?tag=2 index.PHP?category=1&tag=2 index.PHP?category=2&tag=2&location=3
用于链接index.PHP?category = 1& tag = 2的PHP中的示例查询过程
$tag = intval($_GET['tag']); $cat = intval($_GET['category']); if(isset($tag) && isset($cat)) { $select = $db->query("SELECT * FROM table WHERE cat=".$cat." AND tag=".$tag.""); ... // fetch results }
问题 – 使用jQuery如何告诉用户点击链接,然后将回调发送到PHP进程&在特定的div名称中显示结果,而不刷新页面.
让我知道
描述
原文链接:https://www.f2er.com/php/131607.html>您必须创建另一个PHP页面,以返回给定子串的json格式的数据.您的子字符串是动态的,因此您必须从另一个元素获取子字符串.我建议一个< input type =“hidden”value =“YourQueryString”/>,它的简单.您可以将元素放在链接旁边,并使用jQuery.val()获取该值.
>然后在index.PHP中使用jQuery.ajax()/ jQuery.get()或jQuery.post()从该页面/脚本获取数据. (jQuery.get()和jQuery.post()在内部使用jQuery.ajax()
>在jQuery ajax的回调方法中,您抓取数据并从中构建html.
之后,您可以使用jQuery.html()将数据设置为div.
样品
html / PHP
<a class="AnyClassName">Click me</a> <input type="hidden" value="category=1&tag=2"/>
jQuery的
$(".AnyClassName").click(function() { // lets get the query string var queryString = $(this).next().val(); $.ajax({ url: "yourNewPage.PHP?" + queryString,context: document.body,success: function(data){ var generatedHtml = "..." // build your html from the data object $("#IdOfYourDiv").html(generatedHtml); } }); });
更新
或者您的PHP页面可以返回您的查询字符串的html(简单页面).这比在jQuery Ajax回调中构建html更容易.如果这样做,你可以做到这一点
$(".AnyClassName").click(function() { // lets get the query string var queryString = $(this).next().val(); $('#IdOfYourDiv').load("yourNewPage.PHP?" + queryString); });
更多信息
文档
> jQuery.ajax()
> jQuery.post()
> jQuery.get()
> jQuery.load()
> jQuery.html()
> jQuery.val()
> jQuery.next()
教程
> jQuery,Ajax,Json and Php
> Use jQuery and PHP to build an Ajax-driven Web page