0

我有以下内容:

    $.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 中的元素?

提前致谢。

4

2 回答 2

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 参数放在 url 上。ajax 函数中有一个数据参数会自动创建你的 GET 字符串,如果你想要的话,我把它放在示例中。


回答以下问题:

好吧,您想使用服务器端语言,php 是一种流行的选择。因此,您可能需要考虑将文件重命名为 info.php(不用担心,如果它充满了 html,它仍然可以工作)。然后你就可以访问 php 中的 GET 参数了,你可以这样做:

<?php
$id=isset($_GET['id']) ? $_GET['id'] : null;
?>

从那里你可以用 $id 做任何你想做的事情,回显它,在数据库查询中使用它,等等。

于 2011-10-05T19:14:24.427 回答
0

那是因为 ajax 请求是由服务器处理的,而你仍然在 index.html 中,它位于客户端。您可以通过$_GET在 php 中访问它们,这是默认的加载方法。至于访问 info.html 中的数据,您可以在加载后的回调函数中轻松完成。

$('#list-content').load("info.html?" + $(this).attr('id'), function() {
     // js stuff here
});
于 2011-10-05T19:16:01.180 回答