jQuery Ajax 使用井号(数字)调用 URL

jQuery Ajax Call on URL with Pound (Number) Sign

我正在尝试对 URL 进行 jQuery Ajax 调用,其中包含 # 符号。例如:

https://www.foo.com/myapp/app/#ptc1/tcomp/infoPage?oid=VR:wt.doc.WTDocument:1272991906

但是,Ajax 调用所调用的 URL 被截断为“https://www.foo.com/myapp/app/”。看起来这是因为 jQuery 将 # 符号视为锚指示符并将其后的所有内容从 URL.

中剥离

因此,我尝试同时使用 encodeUriComponent 并进行直接替换以将 # 符号转换为 %23 的十六进制等价物。但是,如果我这样做并调用 URL,我就会收到 404。

有什么办法解决这个问题,还是服务器不理解 %23 与 # 相同?

更新

也许我应该重新表述这个问题,因为它没有得到任何答案。

有什么方法可以告诉 JQuery 在 URL 的 # 登录后不要删除所有内容以进行 Ajax 通话?

It appears as this is because jQuery treats the # sign as an anchor designator and strips everything after it off of the URL.

那不是 jQuery,那是浏览器。

片段标识符永远不会作为 URL 的一部分发送到服务器。


您提供的 URL 会抛出 404 错误(可能是您试图提供示例 URL,请为此使用 example.comfoo.com 是一个真实的网站!)但我会假设页面上显示的任何内容根据 # 之后的内容发生变化,由客户端 JavaScript 放在页面中,而不是服务器。

为了复制它,您需要对他们的 JS 进行逆向工程,并在您自己的代码中重现它对页面所做的更改。