我检索查询字符串参数的 JS 不工作,知道为什么吗?
My JS to retrieve querystring params isn't working, any ideas why?
我正在尝试获取一个使用 js 检索查询字符串参数的简单示例,但它不是(尽管我说的很简单)。
这是我的代码:
我试过用老式的方式放入警报语句并进行调试,但老实说,我习惯于将 VS2017 用于 c# 而不是 js
这是我正在使用的代码。
我有 2 个 html 页,第一个只有一个 link:
<a href="h1.html?type=generalk">try me</a>
第二个有代码:
this is some text <br />
<script> getparams2();</script>
this is some more text <br />
<script>
function getUrlParam(parameter, defaultvalue) {
var urlparameter = defaultvalue;
if (window.location.href.indexOf(parameter) > -1) {
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
</script>
<script>
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
alert(value);
vars[key] = value;
});
return vars;
}
</script>
<script>
function getparams2()
{
var mytext = getUrlVars()["type"];
}
</script>
我想要达到的结果是 h1.html 页面可以显示来自 url 的类型参数。
提前致谢,
保罗.
我会按照以下方式进行:
URL-参数函数
function getUrlParam(name){
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regexS = "[\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null) { return ""; }
else { return results[1]; }
};
从您的 getParams2 调用
function getParams2(){
return getUrlParam('type');
};
getParams2 将 return 参数的值,如果它在 URL.
您的代码有效。您只需要在文档准备好后执行它,您还需要 return 一些东西或更新您的页面以查看结果。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
</head>
<body>
<div id="params"> Printing The URL Params here</div>
<script type="text/javascript">
$( document ).ready(function() {
getparams2();
function getUrlParam(parameter, defaultvalue) {
var urlparameter = defaultvalue;
if (window.location.href.indexOf(parameter) > -1) {
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function
(m, key, value) {
alert(value);
vars[key] = value;
});
return vars;
}
function getparams2()
{
var mytext = getUrlVars()["type"];
//console.log(mytext);
$('#params').text(mytext);
}
});
</script>
</body>
</html>
我正在尝试获取一个使用 js 检索查询字符串参数的简单示例,但它不是(尽管我说的很简单)。 这是我的代码:
我试过用老式的方式放入警报语句并进行调试,但老实说,我习惯于将 VS2017 用于 c# 而不是 js
这是我正在使用的代码。
我有 2 个 html 页,第一个只有一个 link:
<a href="h1.html?type=generalk">try me</a>
第二个有代码:
this is some text <br />
<script> getparams2();</script>
this is some more text <br />
<script>
function getUrlParam(parameter, defaultvalue) {
var urlparameter = defaultvalue;
if (window.location.href.indexOf(parameter) > -1) {
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
</script>
<script>
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
alert(value);
vars[key] = value;
});
return vars;
}
</script>
<script>
function getparams2()
{
var mytext = getUrlVars()["type"];
}
</script>
我想要达到的结果是 h1.html 页面可以显示来自 url 的类型参数。
提前致谢, 保罗.
我会按照以下方式进行:
URL-参数函数
function getUrlParam(name){
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regexS = "[\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null) { return ""; }
else { return results[1]; }
};
从您的 getParams2 调用
function getParams2(){
return getUrlParam('type');
};
getParams2 将 return 参数的值,如果它在 URL.
您的代码有效。您只需要在文档准备好后执行它,您还需要 return 一些东西或更新您的页面以查看结果。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
</head>
<body>
<div id="params"> Printing The URL Params here</div>
<script type="text/javascript">
$( document ).ready(function() {
getparams2();
function getUrlParam(parameter, defaultvalue) {
var urlparameter = defaultvalue;
if (window.location.href.indexOf(parameter) > -1) {
urlparameter = getUrlVars()[parameter];
}
return urlparameter;
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function
(m, key, value) {
alert(value);
vars[key] = value;
});
return vars;
}
function getparams2()
{
var mytext = getUrlVars()["type"];
//console.log(mytext);
$('#params').text(mytext);
}
});
</script>
</body>
</html>