1

我以前见过这个问题,但我还没有找到可行的解决方案。这个问题很简单。如果我调用这样的页面。

div.load('page?foo=bar');

我希望能够以某种方式检索 foo 并在页面调用的 javascript 中使用它。但我只设法获得父母网址的参数。

我知道我可以在父 javascript 代码中声明变量,但这不是我喜欢的方式。

所以我真的希望有人能解决这个问题。

♥你们

4

2 回答 2

2

你可以使用这样的东西来解析 URI:http: //blog.stevenlevithan.com/archives/parseuri

然后您可以从父页面轻松访问参数:

// Set the link that we want to load/examine
var link = 'page?foo=bar';

// Load the link content (as per your code)
div.load(link);

// Grab whatever variables we want from the link
var uri = parseUri(link);
var foo = uri.queryKey.hasOwnProperty('foo') ? uri.queryKey.foo : false;
alert(foo);

编辑: 正如 bfavaretto 已经评论的那样,通过 AJAX 加载的内容只是一个字符串。它不是一个知道其 URI 的页面。

但是,如果您真的希望加载的内容能够访问其 URI,只需使其在内容本身中可用。例如:

$('#my_div').load('page?foo=bar)

而在“page?foo=bar”的内容中:

<div class="container" data-page-uri="{{ insert uri here with php, ruby, whatever }}">
    <!-- my page content -->
</div>

现在在您加载的内容中,您可以通过查找具有“data-page-uri”数据属性的相关 div 来确定 URI。获得链接后,您说您知道如何从中获取参数...

希望有帮助。

于 2013-08-04T21:05:12.747 回答
0

我认为你有两个解决方案。第一个,如果页面有一个隐藏的 div,带有所需的数据,第二个,可能是 ajax 响应对象具有调用方 url。您应该研究响应 xhr 对象。

于 2013-08-04T21:48:40.820 回答