gpt4 book ai didi

javascript - 如何去除? (问号)来自 url,当它后面没有任何参数时?

转载 作者:行者123 更新时间:2023-12-01 00:53:08 27 4
gpt4 key购买 nike

我有一个向服务器发送 get 请求的表单。输入参数以 QueryString 形式发送到服务器。

这是我的表格:

<form action="host-name/Home/Browse"  onsubmit="removeEmptyParameters()">
<input type="text" name="Term" />
<input type="text" name="Address" />
<input type="submit" value="submit">
</form>

在提交表单之前,执行以下 JavaScript 方法以从表单中删除空输入参数:

function removeEmptyParameters() {
// set the name attribute = "" for empty inputs, so they won't be posted to server
$('form').find('input').each(function () {
if (this.value === "") {
$(this).attr('name', '');
}
});
}

因此,如果用户输入一些内容,请求将是:

ulr:主机名/Home/Browse?Term=some-term&Address=some-address

如果所有输入均为空,则将以下 url 发送到服务器:

ulr:主机名/主页/浏览?

这工作正常,但我想从 url 中删除 ?,这样它就干净了。可以这样做吗?

最佳答案

您可以使用 String.prototype.slice() 方法来实现此目的。如果您的网址的最后一个字符是“?”,您可以将其从网址字符串中删除。

let url = "www.someurl.com?";
let length = url.length;
if(url.charAt(length-1)==='?')
url=url.slice(0,length-1);
console.log(url);

请访问以下 MDN 链接以了解有关 slice() 的更多详细信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice

我不确定这是否是最佳解决方案,但您可以尝试使用 window.location.href 进行重定向,以防参数为空。这样,就可以保持 url 的干净。

关于javascript - 如何去除? (问号)来自 url,当它后面没有任何参数时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com