点击图片,AJAX删除后台图片文件

点击页面上的图片,用jQuery的AJAX来删除后台真实的文件。

包含了2个页面,一个是显示图片的页面,一个是传递文件名,然后删除真实图片的页面。具体的代码如下:

ShowPics.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script src="JS/jquery-1.4.4.js" type="text/javascript"></script>
    <script src="JS/json2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
            $("body img").click(function() {
                var name = $(this).attr("alt");
                $.ajax({
                url: "DeletePicsForm.aspx",
                    data: "picname="+name,
                    datatype: "json",
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    success: function(data, textStatus) {
                        alert(data.result);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(XMLHttpRequest);
                    }
                });
            });
        });
    </script>
</head>
<body>
 <div>
            <img src="Images/xiyangyang.jpg" alt="xiyangyang.jpg" />
    </div>
</body>
</html>

具体的删除的页面的代码如下:

DeletePicsForm.aspx.cs:

  protected void Page_Load(object sender, EventArgs e)
        {
            if (Request["picname"] != null)
            {
                Response.Clear();
                Response.ContentType = "application/json";
                String result = "success";
                try
                {
                    File.Delete(Server.MapPath(@"\Images\")+Request["picname"].ToString());
                }
                catch (Exception ee)
                {
                    result = ee.Message;
                }
                Response.Write("{\"result\":\"" +result+ "\"}");
                Response.End();
            }
        }

对于上面图片名称的传递,是用的GET方式,想换成POST方式可以用如下的方法:

  $(function() {
            $("body img").click(function() {
                var name = $(this).attr("alt");
                $.ajax({
                    url: "DeletePicsForm.aspx",
                    data: { picname: name },
                    datatype: "json",
                    type: "post",
                    success: function(data, textStatus) {
                        alert(data.result);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(XMLHttpRequest);
                    }
                });
            });
        }); 

posted @ 2010-11-24 14:39  chenping2008  阅读(2634)  评论(0编辑  收藏  举报