您好我有一个自动生成验证码图像的HTMl表单,然后根据生成的验证码自动生成音频剪辑。表格如下。
<div class="formRow">
<div class="field">
<img style="margin-left:91px; margin-top:-6px;" class="image" src="http://www.abc.com/captchaServlet">
</div>
</div>
<div class="formRow">
<div class="field">
<audio style="margin-left:91px;" controls="controls">
<source id="audiowav" src="http://www.abc.com/getSound" type="audio/wav">
Your browser does not support this audio format.
</audio>
</div>
</div>
当生成验证码然后我将验证码代码作为属性存储在会话中,然后当我必须生成音频文件时,我从会话中获取属性并生成它。但有时会发生这样的情况:当我刷新页面时,首先调用音频标签servlet,即在http://www.abc.com/getSound之前调用http://www.abc.com/captchaServlet,这样图像和音频就不匹配。所以我想确保从表单中调用第一个http://www.abc.com/captchaServlet然后 http://www.abc.com/getSound。
答案 0 :(得分:2)
您无法保证会发生这种情况,因为这是决定加载资源的顺序的浏览器,这取决于浏览器,您无法真正强制它遵循特定的顺序。
您应该以不同的方式使用验证码。也许让页面生成实际代码并放入会话中,然后getSound
和captchaServlet
从会话中的代码生成相应的声音或图像?