Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery如果开始下载,是否可以刷新页面?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript Jquery如果开始下载,是否可以刷新页面?

Javascript Jquery如果开始下载,是否可以刷新页面?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个应用程序,用户可以选择复选框, 按下按钮download并根据复选框下载数据, 问题是如果我没有选中任何复选框,它将在div警报中显示错误消息。 当我选中并单击下载时,下载运行良好,但错误消息仍在页面中。 如何检测下载是否开始,自动刷新页面,或者如何更容易地解决 我的下载代码: public function downloadFile($name) { $storagePath = "/opt/tmp/"; // check filename for allo

我有一个应用程序,用户可以选择
复选框
, 按下按钮
download
并根据复选框下载数据, 问题是如果我没有选中任何
复选框
,它将在
div
警报中显示
错误
消息。 当我选中并单击下载时,下载运行良好,但错误消息仍在页面中。 如何检测下载是否开始,自动刷新页面,或者如何更容易地解决

我的下载代码:

  public function downloadFile($name)
  { 
    $storagePath = "/opt/tmp/";

    // check filename for allowed chars (do not allow ../ to avoid security issue: downloading arbitrary files)

    if (!is_file("$storagePath/$name")) {
        throw new \yii\web\NotFoundHttpException('The file does not exists.');
    }
    return Yii::$app->response->sendFile("$storagePath/$name", $name);
  }

如何使用jquery启动检测下载并刷新它?

您需要在单击复选框后立即隐藏错误消息。 诸如此类 $(“#id”).hide()


此处id是错误消息div的id

您需要在单击复选框后立即隐藏错误消息。 诸如此类 $(“#id”).hide()


此处id是错误消息div的id,当客户端单击下载链接时,您可以检测下载开始

在发送请求之前

大概是这样的:

$('#download-link').on('click', function() {
    setTimeout(function() {
        document.location.reload();
    }, 500);
    return true;
});

当客户端单击下载链接时,可以检测下载开始

在发送请求之前

大概是这样的:

$('#download-link').on('click', function() {
    setTimeout(function() {
        document.location.reload();
    }, 500);
    return true;
});

向我们展示您的javascript和html代码。您不需要重新加载/刷新页面,就像您在div上添加错误消息一样,您也可以使用javascriptshow向我们显示您的javascript和html代码来删除/隐藏它。您不需要重新加载/刷新页面,就像在div上添加错误消息一样,您也可以使用javascript删除/隐藏它