我以前见过这个问题,但我还没有找到可行的解决方案。这个问题很简单。如果我调用这样的页面。
div.load('page?foo=bar');
我希望能够以某种方式检索 foo 并在页面调用的 javascript 中使用它。但我只设法获得父母网址的参数。
我知道我可以在父 javascript 代码中声明变量,但这不是我喜欢的方式。
所以我真的希望有人能解决这个问题。
♥你们
我以前见过这个问题,但我还没有找到可行的解决方案。这个问题很简单。如果我调用这样的页面。
div.load('page?foo=bar');
我希望能够以某种方式检索 foo 并在页面调用的 javascript 中使用它。但我只设法获得父母网址的参数。
我知道我可以在父 javascript 代码中声明变量,但这不是我喜欢的方式。
所以我真的希望有人能解决这个问题。
♥你们
你可以使用这样的东西来解析 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。获得链接后,您说您知道如何从中获取参数...
希望有帮助。
我认为你有两个解决方案。第一个,如果页面有一个隐藏的 div,带有所需的数据,第二个,可能是 ajax 响应对象具有调用方 url。您应该研究响应 xhr 对象。