gpt4 book ai didi

javascript - ASP.NET 中的 url 解码

转载 作者:行者123 更新时间:2023-11-28 21:14:09 25 4
gpt4 key购买 nike

我在 ASP.NET 中有一个带有一些文本框的表单。我正在尝试使用 jquery ajax 将其中的值发布到服务器,但遇到问题。我使用 javascriptencodeURIComponent 作为文本框的值,然后发布,但我看到 url 是自动编码的:

wanted result:
mylefturl/first%20name/last%20name

this is what's actually happenning:
mylefturl/first name/last name

所以我得到了一个asp.net错误...

我的 JavaScript 代码:

var firstName = $("#SignupFirstName").val();
var lastName = $("#SignupLastName").val();
var email = $("#SignupEmail").val();
var password = $("#SignupPassword").val();

var url = '/Ajax/GetSignup/' + encodeURIComponent(firstName) + '/' + encodeURIComponent(lastName) + '/' + encodeURIComponent(email) + '/' + encodeURIComponent(password);
$.ajax({
url: u,
...

这个问题有什么解决办法吗?

最佳答案

我建议您在发送 AJAX 调用时使用 data 参数:

var firstName = $("#SignupFirstName").val(),
lastName = $("#SignupLastName").val(),
email = $("#SignupEmail").val(),
password = $("#SignupPassword").val();

$.ajax({
url: '/Ajax/GetSignup/',
type: 'POST',
data: {
firstName: firstName,
lastName: lastName,
email: email,
password: password
},
success: function(result) {
// TODO: process the results from the AJAX call
}
});

现在 jQuery 将负责对发送到服务器的值进行正确的 url 编码。这些值将作为 POST 有效负载的一部分而不是 url 发送。这是确保它们正确到达服务器的最安全方法。我建议您避免使用用户输入的值作为 url 路径的一部分。看看following question了解如果您走那条路可能会遇到什么困难。

关于javascript - ASP.NET 中的 url 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023523/

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