HTMLUNIT,在等待表单答案时获取 Ajax 答案



我从表单向服务器发送文件

onSubmit事件启动一个setInterval,询问服务器上传的文件百分比,我用 JQuery 动态显示它。

当单击带有 HtmlUnit (submitButton.click()submit的按钮时,它会一直等待应答页面。所以我看不出 ajax 得到了什么。

NicelyResynchronizingAjaxController()不起作用。
waitForBackgroundJavaScript()不起作用。 我在click()之前创建了一个子线程来尝试检查 ajax 正在接收的内容,但看起来它也在等待表单操作。

我怎么能同时得到两个答案?有什么想法可以得到它,知道我需要等多久吗?

提前谢谢你

既然你要求它,但实际代码非常复杂,我将写一个简单的例子。

这是主要的HTML代码

<html>
<body>
<script>
function Upload() {
setInterval("waitProcess('x')", 2500);
}
function waitProcess(uid) {
$.get('x2.php?id='+uid, function(data) {
$("#t").val( $("#t").val() + "n" + data );
});
}
</script>
<form action="x3.php" onSubmit="Upload();">
<input type="file" name="file">
<input id="boton" type="submit" value="Transfer it" />
</form>
<textarea id="t"></textarea>
</body>
</html>

如您所见,文件是通过表单上传的。我使用异步 AJAX 请求来查看已上传的文件百分比。我只是使用<textarea>来显示示例答案。

我想要的 HtmlUnit 代码是继续读取WebClient中的当前 HTML,以查看 Ajax 请求是否更新了<textarea>。但是WebClient表单上传文件时被阻止。

我担心你正面临HtmlUnit的问题。Asnc 请求目前并不是真正的异步。 请为此打开一个问题;如果可能,请提供一些示例代码。

顺便说一句:文件上传是通过表单提交完成的还是这也是一个异步请求?

最新更新