gpt4 book ai didi

javascript - 使用 AJAX Jquery 处理随机链接数

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:46 25 4
gpt4 key购买 nike

我是 AJAX 和 JQuery 的新手,正试图在我的网站部分使用它们。基本上,我拥有的网站具有这种设计,目前可以正常使用(对不起我糟糕的绘画工作:) website

网站中的项目是由用户创建的。这意味着项目编号不是常量,但可以通过数据库查询获取。每个项目都有一个唯一的 URL,目前当您单击一个项目时,所有页面都会刷新。我想更改系统,让用户有机会通过仅更改中间内容区域来在这些项目之间快速导航,如上所示。但是我也希望每个项目都有一个唯一的 URL。我的意思是,如果该项目的名称类似于“stack overflow”,我希望该项目的 URL 类型为 dev.com/#stack-overflow 或类似名称。我不介意可能来自 AJAX 的“#”。

在类似的主题中,我看到人们对项目使用固定的名称。例如 <a href="#ajax">但我的元素不是固定的。

我尝试了什么

我的想法是什么;在获取所有项目的链接时,我将链接保存在 $link 变量中并在 <a href="#<?php echo $link; ?>"> 中使用它.在 $link 里面它不是实际的 URL。例如,它是一个像“stack-overflow”这样的名字,就像我在上面给出的例子一样。直到这部分没有问题。

问题

this topic一位 friend 提出了这种代码作为一种想法,我已经根据我的目的对其进行了更改。

<script>
$(document).ready(function() {
var router = {
"<?php echo $link ?> ": "http://localhost/ajax_tut/link_process.php"
};
$(window).on("hashchange", function() {
var route = router[location.hash];
if (route === undefined) {
return;
} else {
$(".content-right").load("" + route + " #ortadaki_baslik");
}
});
});
</script>

我正在尝试将 $link 的值发布到 link_process.php,在 link_process.php 中,我将获取 $link 的值并安排要显示的必要页面内容。问题是; - 我应该如何更改此代码才能做到这一点? - 我看不到有人做类似的事情来解决这个问题 问题。这是解决这种情况的正确方法吗? - 你们对我的案例有更好的解决方案或建议吗?

提前致谢。

最佳答案

WHEN 您的服务器端 AJAX 调用处理程序 [PHP 脚本 - 在服务器端处理 AJAX 请求] 是常量并且您将 item_id/link 作为 GET 参数传递...

例如:localhost/ajax_tut/link_process.php?item_id=stack-overflow localhost/ajax_tut/link_process.php?item_id=stack-exchange

然后您可以使用以下代码。

<script>
$(document).ready(function() {
var ajax_handler = "localhost/ajax_tut/link_process.php?item_id=";
$(window).on("hashchange", function() {
var route = location.hash;
if (route === undefined) {
return;
} else {
route = route.slice(1); //Removing hash character
$(".content-right").load( ajax_handler + route );
}
});
});
</script>


您将 item_id/link 作为 URL 部分而不是参数传递...

例如:localhost/ajax_tut/stack-overflow.php 本地主机/ajax_tut/stack-exchange.php

然后您可以使用以下代码。

<script>
$(document).ready(function() {
var ajax_handler = "localhost/ajax_tut/";
$(window).on("hashchange", function() {
var route = location.hash;
if (route === undefined) {
return;
} else {
route = route.slice(1); //Removing hash character
$(".content-right").load( ajax_handler + route + ".php");
}
});
});
</script>


WHEN 您的服务器端 AJAX 处理程序脚本 url 不是恒定的,并且因项目而异...

例如: localhost/ajax_tut/link_process.php?item_id=stack-overflow localhost/ajax_tut/fetch_item.php?item_id=stack-exchange 或者 localhost/ajax_tut/stack-exchange.php

然后我建议更改 PHP 脚本,它会生成位于左侧的项目链接。

<?php
foreach($links as $link){
// Make sure that you are populating route parameter correctly
echo '<a href="'.$link['item_id'].'" route="'.$link['full_ajax_handler_route_url_path'].'" >'.$link['title'].'</a>';
}
?>

这是Javascript

<script>
$(document).ready(function() {
var ajax_handler = "localhost/ajax_tut/"; //Base url or path
$(window).on("hashchange", function() {
var route = location.hash;
if (route === undefined) {
return;
} else {
route = route.slice(1); //Removing hash character
route = $('a [href="'+.slice(1)+'"]').attr('route'); //Fetching ajax URL
$(".content-right").load( ajax_handler + route ); //Here you need to design your url based on need
}
});
});
</script>

关于javascript - 使用 AJAX Jquery 处理随机链接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33962903/

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