使用jquery在html页面之间传递参数

时间:2017-10-12 02:22:05

标签: javascript jquery html

我有一个包含jquery函数的html页面。

<script>
function loadCustomers() {
    $.ajax({
        type: 'GET',
        url: 'http://localhost:8080/cache/getCustomers',
        dataType: 'json',
        success: function(data) {
            var rows = [];
            $.each(data,function(id,value) {
                rows.push('<tr><td><a href="clientSiteInfo.html?client=">'+id+'</td><td>'+value+'</td></tr>');
            });
            $('table').append(rows.join(''));
        }
    });
};
window.onload = loadCustomers;
</script>

我已经为每一行链接了另一个html页面。填充每行后, id 值必须传递到 clientSiteInfo.html 页面。

clientSiteInfo.html 页面中,我有另一个类似于上面的jquery函数。

<script>
function loadSites() {
    $.ajax({
        type: 'GET',
        url: 'http://localhost:8080/cache/getSite?clientName='+${param.client},
        dataType: 'json',
        success: function(data) {
            var rows = [];
            $.each(data,function(id,value) {
                rows.push('<tr><td>'+id+'</td><td>'+value.machine+'</td><td>'+value.state+'</td></tr>');
            });
            $('table').append(rows.join(''));
        }
    });
};
window.onload = loadSites;
</script>
在GET网址中

我尝试阅读客户端参数。但它并没有从我的初始页面传出来。

我在这里做错了什么?我寻找简单的解决方案

1 个答案:

答案 0 :(得分:2)

jQuery没有本地方式来读取url参数。但是,javascript工作正常:

function getParameterByName(name) {
  const match = RegExp(`[?&]${name}=([^&]*)`).exec(window.location.search);
  return match && decodeURIComponent(match[1].replace(/\+/g, ' ') );
}

在您的代码中,您只需将其称为getParameterByName('client')