我有一个包含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网址中我尝试阅读客户端参数。但它并没有从我的初始页面传出来。
我在这里做错了什么?我寻找简单的解决方案
答案 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')