我有以下内容:
$.ajax({
url: "info.html?" + $(this).attr('id'),
cache: false,
success: function(html){
$('#list-content').load("info.html?" + $(this).attr('id'));
}
})
在info.html中,如果我得到document.href并尝试解析它,我没有得到info.html?...而是,我得到包含窗口的URL是index.html。问题,如何获取跟踪'info.html?'的数据?这是好习惯吗?我还能如何传递数据,如何在准备好文档时从info.html中检索数据?
还有一个问题,是否有办法在加载后访问info.html中的元素?
提前致谢。
答案 0 :(得分:1)
我认为这更像是你想要的东西:
$.ajax({
url: "info.html",
data: {
id:$(this).attr('id')
},
cache: false,
success: function(html){
$('#list-content').html(data);
}
})
如果我理解正确,您目前在index.html上,并且想要获取info.html并将其放入div中?如果是这样,你就是这样做的。
我不完全确定你为什么要把GET参数放在网址上。 ajax函数中有一个数据参数会自动创建你的GET字符串,如果你想要的话,我把它放在例子中。
回答问题:
你想要使用服务器端语言,php是一个受欢迎的选择。因此,您可能需要考虑将文件重命名为info.php(不用担心,如果它填充了html,它仍然可以工作)。然后你可以访问php中的GET参数,你可以这样做:
<?php
$id=isset($_GET['id']) ? $_GET['id'] : null;
?>
从那里你可以用$ id做任何你想做的事,回应它,在数据库查询中使用它等等。
答案 1 :(得分:0)
这是因为ajax请求是由服务器处理的,而你仍在index.html中,它位于客户端。您可以通过php中的$_GET
访问它们,这是加载的默认方法。至于访问info.html中的数据,您可以在加载后在回调函数中轻松完成。
$('#list-content').load("info.html?" + $(this).attr('id'), function() {
// js stuff here
});