我正在尝试对其中包含#符号的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将#符号视为锚点指示符,并将其后的所有内容都删除。
所以,我尝试使用encodeUriComponent和直接替换来将#符号转换为它的十六进制等效%23。但是,如果我这样做并调用URL,那么我会获得404。
有没有办法绕过这个或服务器上的错误是因为不理解%23与#相同?
也许我应该重新说出这个问题,因为它没有得到任何答案。
有没有办法告诉JQuery不要在Ajax调用的URL中#符号后删除所有内容?
答案 0 :(得分:0)
这看起来是因为jQuery将#符号视为锚点指示符,并将其删除后的所有内容。
那不是jQuery,那是浏览器。
片段标识符永远不会作为URL的一部分发送到服务器。
您提供的网址引发了404错误(可能是您尝试提供示例网址,请使用Element fichada = new Element("fichada" + contador );
,example.com
是一个真实的网站!)但我会认为页面上显示的任何内容都会根据foo.com
在页面中的客户端JavaScript放在那里之后发生的变化,而不是由服务器进行更改。
为了复制它,您需要对其JS进行反向工程,并在您自己的代码中重现它对页面所做的更改。