gpt4 book ai didi

java - Servlet 无法从 AJAX 调用中检索参数

转载 作者:行者123 更新时间:2023-11-30 04:08:59 26 4
gpt4 key购买 nike

我使用AJAX来调用 Action 并传递参数,AJAX调用从xsl页面发生,如下所示:

xmlHttp.open("GET","examcont?action=AJAX_SectionsBySessionId&sessionId="+sessionId,true);

我决定将 amp; 放在 & 之后,因为当我删除它时 xsl 会引发此错误:

The reference to entity "sessionId" must end with the ';' delimiter

问题是该操作无法读取参数 sessionId,但是我尝试了相同的操作 URL,但没有 amp; 并且该操作成功读取了参数

最佳答案

问题似乎是 & 在样式表中表示 &,但在输出期间再次扩展/转义为 & (因为它是 HTML/XML)。您可以尝试在 XSL 中使用以下内容以避免转义:

xmlHttp.open("GET","examcont?action=AJAX_SectionsBySessionId<xsl:text disable-output-escaping="yes">&amp;</xsl:text>sessionId="+sessionId,true);

但是,请注意 - 如果您碰巧让 XSL 在浏览器中运行 - 根据https://bugzilla.mozilla.org/show_bug.cgi?id=98168,这在 Firefox 上不起作用(尽管它是正确的 XSL 并且应该)。 .

作为可移植的替代方案,您可以使用以下内容,通过在运行时将其插入您可能称为“Javascript-escaping”的内容来避免提及 &:

xmlHttp.open("GET","examcont?action=AJAX_SectionsBySessionId"+String.fromCharCode(38)+"sessionId="+sessionId,true);

另请参阅类似的问题,其中包含更深入的讨论和其他选项 using a html entity in xslt (e.g. &nbsp;)

关于java - Servlet 无法从 AJAX 调用中检索参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092127/

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