jquery动态创建form并提交到.ashx文件处理

    有时候在写web 应用的时候,需要临时动态构造一个form 并提交,form 里面的参数以及action,以及是post请求还是get请求,甚至form 的样式都是可以指定的,用原生的javascript 可以做到,这里用jquery做了一个测试。我自己测试的是构造一个分页的post请求, 为了防止csrf 攻击,加入了csrf 验证,不需要的可以去掉。

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript" src="jquery-1.8.3.js"></script>
    <script type="text/javascript">
        function genSearchObj(url, page, pageSize, keyword) {
            var params = {};
            params.url = url;
            params.page = page;
            params.pageSize = pageSize;
            params.cond = keyword;
            return params;
        }
        function mockFormSubmit(params) {
            var form = $('<form />', { action: params.url, method: "post", style: "display:none;" }).appendTo('body');
            $.each(params, function (k, v) {
                if (k != "url") {
                    form.append('<input type="hidden" name="' + k + '" value="' + v + '" />');
                }
            });
            form.append('<input type="hidden" name="csrfToken" value="' + $("#csrf_token").val() + '" />');
            form.submit();
        }

        function sender() {
            var params = genSearchObj("ajax.ashx", 1, 10, "zzy");
            mockFormSubmit(params);
        }
    </script>
</head>
<body>
    <input id="btn_action" type="button" value="action" onclick="sender();" />
</body>
</html>
    public class ajax : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string temp4 = context.Request.Form["page"];
            string temp5 = context.Request.Form["pageSize"];
            string temp6 = context.Request.Form["cond"];

            context.Response.ContentType = "text/plain";
            context.Response.Write(temp4 + temp5 + temp6);
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

源代码下载:http://files.cnblogs.com/files/OnlyDreams/WebApplication1.zip

参考:http://ju.outofmemory.cn/entry/126161

  

你可能感兴趣的:(jquery动态创建form并提交到.ashx文件处理)