gpt4 book ai didi

javascript - 在 JavaScript 中将用户输入编码为 URL GET 参数

转载 作者:行者123 更新时间:2023-11-28 16:36:06 24 4
gpt4 key购买 nike

我正在编写一个需要维护三个属性的 JavaScript 函数:

  • 非常小且轻量级 - 无需外部库
  • 以能够作为 GET 参数传递的方式对字符串进行编码
  • 该字符串必须在其目的地再次解码

实际上,它通过将用户名和密码发送到 PHP 页面来验证用户身份,然后由 PHP 页面进行验证。这是通过 GET 完成的,因为我还没有找到执行后台跨域 POST 请求的方法。问题在于,如果用户的密码中包含“#”或类似字符,则无法正确发送该字符。

目前,为了避免这种情况,我在发送密码字符串之前对其进行encode(),这样可以毫无问题地接收它。然而,我读到 PHP 的 urldecode() 并不是一个完美的模拟,因为有一些特殊情况会被区别对待(即“”、“+”等)。遗憾的是我再也找不到这个文档了,所以我不能引用它,但要点是其中一个将空格转换为“+”号,另一个将其视为实际的加号,或类似的东西......

因此,我正在寻找一个 Javascript 函数,它可以接受字符串并使其成为 URL 安全的,并且在 PHP 中具有完美的反转函数,以便可以恢复原始字符串。

我目前用来实现此目的的可以说是糟糕的代码:

login.onsubmit = function(){
loginFailMsg.style.display = 'none';
var inputs = login.getElementsByTagName('input');
var formdata =
'username='+inputs[0].value+'&password='+encode(inputs[1].value);
submit.src = formtarget+'/auth/bklt?'+formdata;
userinfo = undefined;
setTimeout(getUserinfo,300);
return false;
};

最佳答案

encodeURIComponent ,PHP会在填充$_POST$_GET

时自动解码它

关于javascript - 在 JavaScript 中将用户输入编码为 URL GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951832/

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