我的页面上有一些脚本:
$('#divMenuHolder').load('../menu.html');
但是我还需要能够传递一些在menu.html页面上作用的参数。
我尝试了以下内容:
$('#divMenuHolder').load('../menu.html?opt1=test&opt2=test2');
但是当我使用以下函数来获取参数时:
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
它没有返回任何内容,因为它试图获取页面本身的参数,而不是我正在加载到DIV中的页面。
无论如何可以帮助指导我找到我想要的东西吗?
答案 0 :(得分:4)
这对我有用
$('#semester').load("restricted/getSemester.php?courseid=" + $("#course").val());
其中#course
是输入字段的id。
OR
$('#subject').load("restricted/getSubject.php?courseid=0&semester=0");
我希望这有助于你:)
答案 1 :(得分:2)
根据this jQuery load() documentation example:
示例:将数据数组传递给 服务器
$("#objectID").load("test.php", { 'choices[]': ["Jon", "Susan"] } );
功能定义:
.load( url, [data,] [complete(responseText, textStatus, XMLHttpRequest)] )
url
包含URL的字符串 请求发送。
data
发送到的地图或字符串 带有请求的服务器。
complete(responseText, textStatus, XMLHttpRequest)
回调函数 在请求时执行 完成。
答案 2 :(得分:0)
尝试以下
var url_to_load = '../menu.html?opt1=test&opt2=test2';
$('#divMenuHolder').load(url_to_load);
function getUrlVars(url_to_load)
{
var vars = [], hash;
var hashes = url_to_load.slice(url_to_load.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
答案 3 :(得分:0)
我遇到了类似的问题。只是想知道你是否找到了解决方案。我发现了一种解决方法,但它不适合我的应用程序。
其中一个选项是在加载URl之前设置cookie并在单独的html页面中访问cookie。但是cookie可以被禁用,所以你必须小心那个部分。如果你的单独的html可以重复使用,那么你需要找出完美的解决方案,在这种情况下cookie不是很有用。