【发布时间】:2020-06-30 21:16:38
【问题描述】:
我偶然发现了这个问题,希望我能在这里得到一些关于可能是什么原因的意见。 我有一个带有一些 GET 参数的 URL,如下所示:
www.test.com/test.jsp?serial=Id123:true;Id456:true;Id789:false;&session=1234567&userId=test
然后我提取参数以进行 REST 调用
const params = new URLSearchParams(window.location.search);
console.log(window.location.search);
console.log(params.get("serial"));
console.log(params.get("session"));
console.log(params.get("userId"));
const url = new URL("service/resources/query?", document.baseURI).href;
fetch(url + params.toString())
我会说一半时间我的 REST 调用会由于会话和 userId 参数被切断而失败。相反,我在浏览器中看到了这个
www.test.com/test.jsp?serial=Id123:true
我的控制台打印出来会显示
?serialNum=ZD0222:True
Id123:True
null
null
关于为什么会发生这种情况以及我如何可以在这里写出不同的任何建议?
附加说明 - 分号可能是这里的原因吗?我注意到 url 只显示第一个参数的第一个值。
【问题讨论】:
-
“由于session和userId参数被截断”在哪里?当从浏览器发送请求(查看您的网络选项卡)或在服务器上接收请求时,它们是否会被切断?因为看起来您向我们展示的内容没有任何问题。我试过了,一切看起来都很好(除了错别字
serial/serialNum和session/sessionId你console.log) -
谢谢,我已修正错字。它不会一直发生,但我会说大约 50% 的时间请求被切断。
-
如何从“网络”选项卡中进行检查?上面的 url 会打开一个新的浏览器,当我可以进入网络选项卡时,我看不到任何东西。
标签: javascript url parameters