我正在使用Ben Alman的jQuery BBQ来获取当前页面的Querystring和Hash值,并使用以下代码将它们存储在Javascript对象中:
var params = $.deparam.querystring();
var paramsHash = $.deparam.fragment();
这些都设置正确;如果我console.log
他们我得到返回的值:
distance "0.1"
floorFrom "0"
floorTo "1000"
floorUnit "1"
ipp "10"
locationName "London"
location_val "LK||001"
tab "3"
现在我要做的是使用jQuery .load调用将这些值传递给页面。
目前我正在使用下面的代码
$('#result').load('mypage.php', { querystringData : params, hashData : paramsHash }, function()
{
...
}
显然,这是将数据传递给mypage.php:querystringData[locationName]=London
我需要将其作为locationName=London
等传递,但不确定实现此目的的最佳方法。
更新,添加说明,以下答案的评论副本
我想要摆脱的是在.load调用中使用querystringData和hashData。如果我要全力以赴,它看起来像是:
$('#result').load('mypage.php', { distance : '0.1', floorFrom: '0', floorTo : '1000', floorUnit : '1', ipp : '10', locationName : 'London', location_val : 'LK||001', tab : '3' }
我不知道如何从对象中获取值并将其显示在.load调用中。另一个问题是我将添加和删除查询字符串值,所以我不认为这是我可以硬编码的。
答案 0 :(得分:3)
这是未经测试的,但我认为它应该有效,因为我对BBQ的知识有限:
var params = $.deparam.querystring();
var paramsHash = $.deparam.fragment();
var data = $.extend({}, params, paramsHash);
$('#result').load('mypage.php', data, function()
{
...
}
我相信params
和paramsHash
已经采用了正确的格式,只需将它们合并即可。这可能不适用于哈希,因为我不熟悉烧烤。
答案 1 :(得分:0)
你应该可以使用jquery的.serializeArray()
来获得你需要的东西。
$('#result').load('mypage.php',
{ querystringData : params,
hashData : paramsHash.serializeArray() },
function(){}
);