如何从 JavaScript 中的 AJAX 调用获取 URL 变量?
我正在通过 AJAX 调用执行 Javascript 代码,如下所示:
function loadViewViaAjax(url) {
Ext.Ajax.request({
url: url,
success: function(objServerResponse) {
var responseText = objServerResponse.responseText;
var scripts, scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;
while(scripts=scriptsFinder.exec(responseText)) {
eval(scripts[1]);
}
}
});
}
我在 URL 中发送参数,如下所示:
我得到PHP 和 Javascript 的值如下:
alert('the URL from PHP: [<?php echo $_SERVER["REQUEST_URI"]; ?>]');
alert('the URL from javascript: [' + window.location.href + ']');
虽然 PHP 为我提供了请求 URI,所以我可以访问 URL 变量(也通过 $_GET):
我无法通过读取 window.location.href
来使用 Javascript 获取 URL 变量,因为它是父页面的 URL,而不是 AJAX 调用:
如何使用 Javascript 从 AJAX 调用而不是从父页面获取 URL?
I am executing Javascript code from an AJAX call like this:
function loadViewViaAjax(url) {
Ext.Ajax.request({
url: url,
success: function(objServerResponse) {
var responseText = objServerResponse.responseText;
var scripts, scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;
while(scripts=scriptsFinder.exec(responseText)) {
eval(scripts[1]);
}
}
});
}
And I send parameters in the URL like this:
I get the values like this with PHP and Javascript:
alert('the URL from PHP: [<?php echo $_SERVER["REQUEST_URI"]; ?>]');
alert('the URL from javascript: [' + window.location.href + ']');
While PHP gives me the request URI so I have access to the URL variables (also via $_GET):
I cannot get the URL variables with Javascript by reading the window.location.href
since it is the URL of the parent page instead of the AJAX call:
How with Javascript can I get the URL from the AJAX call instead of from the parent page?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实证明,这个问题只是对范围的误解:我使用 eval 执行的 javascript 可以访问主脚本中的变量,因此不需要传递值。
This problem turned out to simply be a misunderstanding of scope: the javascript I am executing with eval has access to the variables in the main script so there is no need to pass values.