我正在使用 Ben Alman 的 jQuery BBQ 获取当前页面的查询字符串和哈希值,并使用以下代码将它们存储在 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 调用中。另一个问题是我将添加和删除查询字符串值,所以我不认为这是我可以硬编码的东西。
最佳答案
这是未经测试的,但我认为它应该有效,因为我对 BBQ 的了解有限:
var params = $.deparam.querystring();
var paramsHash = $.deparam.fragment();
var data = $.extend({}, params, paramsHash);
$('#result').load('mypage.php', data, function()
{
...
}
我相信 params
和 paramsHash
已经是正确的格式,只需要合并它们。这可能不适用于 hash,因为我不熟悉 BBQ。
关于javascript - 将存储在 Javascript 对象中的参数传递给 jQuery .load 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155947/