用Jquery的ajaxForm/ajaxSubmit提交表单上传图片文件,想文件上传成功后返回Json数据,但是提交表单完成后,在cs文件后台执行完成图片上传,后回Json数据变成了保存文件。不能直接返回Json数据,整天弹出保存对话框,请问怎么解决。代码:
JQuery:
    $(document).ready(function() {
$("#ImgUpload").click(function() { ImageUpload() });
}function ImageUpload() {
$("#requestForm").ajaxForm({
             dataType: "json",
             success: function(data) {
                 if (data.returns) { alert("成功"); }
             },
             error: function() {
                 alert("请求出错,请重试");
             }
         });
}cs后台代码        [AcceptVerbs(HttpVerbs.Post | HttpVerbs.Put)]
        public ActionResult UploadImage()
        {
            string returnName = CheckImg(Request.Files[0], "TTX");
            var returnJson = new { returns = false};
            return Json(returnJson);
        }就是整天返回保存对话框,没有弹出我设置的对话框,请问怎么解决。

解决方案 »

  1.   


    $(document).ready(function() {
    $("#ImgUpload").click(function() { ImageUpload() });function ImageUpload() {
    $("#requestForm").ajaxForm({
      dataType: "json",
      success: function(data) {
      if (data.returns) { alert("成功"); }
      },
      error: function() {
      alert("请求出错,请重试");
      }
      });
    }
    }
    函数放在外面是没有办法执行的
      

  2.   

    LS的,"函数放在外面是没有办法执行的"怎么会呢,函数是在$(document).ready中当ImgUpload被点击的时候执行,实践过肯定可以了。
      

  3.   

    public JsonResult UploadImage(){...}
      

  4.   

    我来结账吧:遇到相同的问题,搞定了!!type为File的Input标签,不要有name属性!!即去掉file控件的name属性即可!!!