我有一个参数,我试图在新页面的url中传递给PHP。在将其添加到url之前,我使用encodeURIComponent来解决它,如下所示:
urlstr = "mypage.php";
param = "a string with spaces";
param = encodeURIComponent(param);
urlstr += "?param=" + param;
console.log(urlstr); //"mypage.php?param=a%20string%20with%20spaces", i.e. what I would expect
window.location.href = urlstr;
但是,浏览器地址栏中显示的url是“mypath / mypage.php?param =带空格的字符串”,并且PHP似乎收到了param的错误值。
编辑:对不起,但是如果我展示了PHP文件,我的雇主会不会很高兴,足以说param是从$ _GET中获取并直接使用而没有任何更多处理并且将其交换为硬编码“期望值”使PHP的行为再次符合预期。