我有一个简单的HTML表单,它向第二个PHP文件发送一个简单的POST请求:
<form method="POST" action="parse.php">
parse.php生成一个要下载的文件,并将其发送到输出缓冲区,标题为
header("Cache-Control: private");
header("Content-Type: application/stream");
header("Content-Disposition: attachment; filename=test.html");
我可以在不使用异步请求的情况下从表单页面检测已完成/已启动的下载吗?当然,我可以找出onSubmit
提交表单的时间,但下载开始或结束时是否会触发jQuery事件?
答案 0 :(得分:2)
这取决于您使用的jQuery方法。
可以在链接的jQuery文档中找到有关其用法的更多详细信息和示例。
我刚刚注意到上面提到的两种方法将在jQuery 1.8之后弃用,你最好使用done()
而不是其他提到的方法。请参阅上面链接的文档,了解有关实现目标的新方法和新方法的使用情况的详细信息。
示例1(已弃用):
$.ajax({
type: "POST",
url: url,
data: data,
success: function(data){
// Do something with your data here
},
dataType: dataType
});
示例2:
$.ajax({
url: "http://example.com/url.php",
type: 'POST',
data: data
}).done(function( data ) {
if ( console && console.log ) {
console.log( "Sample of data:", data.slice( 0, 100 ) );
}
});