圆滚滚的胖狸 2017-08-23 06:25 采纳率: 80%
浏览 3461
已采纳

求助ajax执行后,会自动刷新页面,该如何阻止?

asp.net mvc
前台代码:

 <html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>TestUpload</title>
    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
    <div>
        <textarea id="txt"></textarea>
        <form id="uploadForm" action="Upload/TestAjax" method="post" enctype="multipart/form-data">
            <input id="File1" name="fileupload" accept="image/gif, image/jpeg" multiple="multiple" type="file" value="" />
            <input id="btn" type="button" value="上传" />
        </form>

    </div>
</body>
</html>
<script type="text/javascript">
    $(function () {
        $("#btn").click(function () {
            var formData = new FormData($("#uploadForm")[0]);
            //var formData = $("#uploadForm");
            $.ajax({
                url: "/Upload/TestAjax",
                data: formData,
                type: "POST",
                cache: false,
                async: true,
                contentType: false,
                processData: false,
                success: function (data) {
                    console.log(data);

                },
                error: function (data) {
                    console.log(data);
                },
            });            
            return false;

        });
    });
</script>

后台代码

  public ActionResult TestUpload()
        {
            return View();
        }

        [HttpPost]
        public ActionResult TestAjax()
        {

            if (Request.Files.Count > 0)
            {
                if (Request.Files.Count == 1)
                {
                    HttpPostedFileBase file = Request.Files[0];
                    if (file.ContentLength > 0)
                    {
                        string title = string.Empty;
                        title = DateTime.Now.Ticks.ToString() + Path.GetExtension(file.FileName);
                        string path = "/upload/" + DateTime.Now.ToString("yyyyMMdd")+"/" + title;
                        path = System.Web.HttpContext.Current.Server.MapPath(path);
                        file.SaveAs(path);
                        return Json(new { status = true, url = path });
                    }
                }
                else
                {
                    string[] urllist = new string[Request.Files.Count];
                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        HttpPostedFileBase file = Request.Files[i];
                        if (file.ContentLength > 0)
                        {
                            string title = string.Empty;
                            title = DateTime.Now.Ticks.ToString() +Path.GetExtension(file.FileName);
                            string path = "/upload/" + DateTime.Now.ToString("yyyyMMdd") + "/" + title;
                            path = System.Web.HttpContext.Current.Server.MapPath(path);
                            file.SaveAs(path);
                            urllist[i] = path;
                        }
                    }
                    return Json(new { status = true, url = urllist });
                }

            }
            else
            {
                return Json(new { status = false, url = "", msg = "没有文件" });
            }



            return Json(new { status = false, url = "", msg = "" });



        }


其实就是一个简单的ajax文件上传。我的要求是,执行成功不要刷新页面。
但是很奇怪的是,执行不成功时,代码不刷新,一旦执行成功就自动给我刷新了!!!跪求各位大大
开发环境WIN10+VS2015

  • 写回答

9条回答 默认 最新

  • 圆滚滚的胖狸 2017-08-23 07:22
    关注

    我找到了解决方法,感谢各位。
    解决方法在web.config中加入

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵