有没有办法隐藏URL参数,然后用代码读取隐藏的参数?例如我的页面中有这个: “example.com/transaction.html?price=10”。
我尝试使用 Base64 进行编码,但它无法按预期工作(编码有效,解码无效),因此我想隐藏 Price=10 或 transaction.html?price=10。
我听说 AngularJS 可以隐藏参数,但是它可以读取“隐藏”参数吗?它是如何工作的?
提前致谢!
function getUrlVar() {
var result = {};
var location = window.location.href.split('#');
var parts = location[0].replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value) {
result [key] = value;
});
return result;
}
最佳答案
如果你不想在地址栏中向用户显示查询参数,你可以使用Javascript轻松实现,或者jquery也需要为此切换到Angular。
你可以做的就是不要使用 <a href = ....> </a>
获取该查询的数据,该查询会将用户重定向到链接:www.something.com?price=10
相反,您可以使用按钮作为
<button type="button" onclick="fetch()">Fetch Data</button>
在你的Javascript文件中你可以创建一个GET or POST
通过这种方式请求,这些你想要隐藏的参数将不会被显示出来,只是这些参数会在后台发送到服务器,而不会改变你的地址。
为了做到这一点GET Request
您可以做一些事情,例如假设您正在从文本字段发送数据:
$("#button").click(function() {
$.ajax({
type: "POST",
url: "www.something.com/",
data: {
price: $("#price")
},
success: function(data) {
// do something with the data you received}
});
})
<input type=text id="price" />
<button id="button">Send</button>
现在您在后台获取了数据,而无需在地址栏中向用户显示参数。
关于javascript - 隐藏URL参数并读取它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44666648/