gpt4 book ai didi

php - 如何在不使用多个查询字符串刷新的情况下加载内容

转载 作者:IT王子 更新时间:2023-10-29 00:33:44 28 4
gpt4 key购买 nike

我想使用菜单中的多个查询字符串将动态内容加载到特定的 div 名称。

示例动态菜单链接

index.php?tag=2
index.php?category=1&tag=2
index.php?category=2&tag=2&location=3

PHP中链接index.php?category=1&tag=2

的示例查询过程
$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 名称显示结果。

告诉我

最佳答案

说明

  1. 您必须为给定的子字符串创建另一个以 json 格式返回数据的 php 页面。您的子字符串是动态的,因此您必须从另一个元素获取子字符串。我建议 <input type="hidden" value="YourQueryString"/> , 这很简单。您可以将元素放在链接旁边并使用 jQuery.val() 获取值.

  2. 然后你使用 jQuery.ajax()/jQuery.get()jQuery.post()在您的 index.php 中从该页面/脚本中获取数据。 (jQuery.get()jQuery.post() 在内部使用 jQuery.ajax())

  3. 在 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 Callback 中构建 html 更容易。 .如果这样做了,你可以这样做

$(".AnyClassName").click(function() {
// lets get the query string
var queryString = $(this).next().val();
$('#IdOfYourDiv').load("yourNewPage.php?" + queryString);
});

更多信息

文档

教程

关于php - 如何在不使用多个查询字符串刷新的情况下加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8593140/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com