用form表单实现Ajax---post提交

实例讲解:新闻发布实现无刷新上传,显示

html代码:

注意:文本框中并没有id  ,,只有name。jquery获取每个文本框的值还要在拼写提交格式(id=value&name=value&...)太繁琐太麻烦!怎么提交到服务器??js中有详解

<body>
    <form id="form1">//表单只留个id
        <table>
            <tbody>
                <tr>
                    <td>标题</td>
                    <td>
                        <input name="txtTitle" type="text" />

                    </td>
                </tr>
                <tr>
                    <td>内容</td>
                    <td>
                        <input name="txtContent" type="text" />

                    </td>
                </tr>
                <tr>
                    <td>时间</td>
                    <td>
                        <input name="txtTime" type="text" />

                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <input id="btn" type="button" value="发表" />
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
        <p>---------------------评论列表-----------------------</p>
        <ul id="ul">
        </ul>

</body>

js代码:

注意:问题解决办法:通过表单,将请求报文序列化(两种方法,哪个都行!)成了集合或者是id=value&name=value&...这种形式

自己就不用拼写了。

 <script type="text/javascript">
        $(document).ready(function () {
            //加载新闻列表
            loadNews();
            //确认事件
            $("#btn").click(function () {
                //通过jquery序列化来发送post请求,两种序列化方式$("#form1").serializeArray();
                //或者$("#form1").serialize();
                var postData = $("#form1").serialize();
                $.post("InsertNews.ashx", postData, function (data) {
                    //$.post中的四个参数1.请求地址2.请求的数据,序列化之后直接将序列化后的结果传进去
                    //3.回调函数4.返回的数据类型,可有可无,写json,就响应结果以json的方式传过来;
                    //不写,默认纯文本
                    if (data != null) {
                        alert("新闻发表成功");
                        $("#ul").empty();
                        loadNews();
                    }
                });//post
            });//click
        });
        function loadNews() {
            $.getJSON("SelectAll.ashx", {}, function (_jsonData) {
                for (var i = 0; i < _jsonData.length; i++) {
                    $("<li><h5>" + _jsonData[i].title + "</h5>" + getDateFromString(_jsonData[i].time) + "</li>").appendTo($("#ul"));
                }//for
            });//function
        }
        //定义了一个转换时间格式的函数
        function getDateFromString(dateString) {
            //-----------------/Date(1441003046160)/---------------
            //用正则表达式匹配
            var reg = /\/Date\((\d+)\)/;
            var rel = reg.exec(dateString);//匹配字符串
            var date = new Date(parseInt(rel[1]));//转换成时间类型必须转换成整数
            return date.toLocaleDateString() + "   " + date.toLocaleTimeString();
        }
    </script>

服务端代码:

这是查询所有的列表内容的服务端代码,出现一个小问题,,时间这个鸟样子,如图:(解决方法在js端,用正则来匹配,封装了函数)

 private MyDBDataContext dbcon = new MyDBDataContext();
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //查询所有新闻信息
            List<news> list = this.dbcon.news.ToList();
            //序列化数据
            JavaScriptSerializer jss = new JavaScriptSerializer();
            string data=jss.Serialize(list);
            context.Response.Clear();
            context.Response.Write(data);
            context.Response.End();
        }
时间: 2024-07-30 13:51:04

用form表单实现Ajax---post提交的相关文章

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

jQuery实现form表单基于ajax无刷新提交方法详解

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!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.o

jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解

第一种方法(简单易用,防蚊虫): 1.1 从form表单到congtroller接收.1 是form表单,2 是ajax提交 3 springmvc接收 1.2 debug 看后台数据,看到了吧,userEO接收到数据了 1.3 有人想看看seralize和seralizeArray数据不同 seralize:id=1&name=xiaohua&age=18&sex=man seralizeArray[ id 1],[ name xiaohua],[ age 18],[ sex m

form表单取消按钮自动提交

默认写在form表单里的按钮可以自动提交表单,现在要实现的效果是点击button按钮调用js函数,再有ajax提交 <button type="button" class="btn btn-sub" onclick="return formSubmit();">提交</button> function formSubmit() { // 如果是修改渠道号,原来就有渠道参数,需要将原有的渠道参数初始化进去 $("#

Django框架 之 Form表单和Ajax上传文件

浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html <h3>form表单上传文件</h3> <form action="/upload_file/" method="post" enctype="multipart/form-data"> <p><input type="file" name="upload_fi

Django框架form表单配合ajax注册

总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 下面是写的登录页面的实例 1:views视图中的代码 # 注册页面 def register(request): if request.method == 'POST': # 将提交过来的数据放的form表单中进行校验 form_obj = forms.Register(request.POST) # 判断校验是否真确 print(form_obj.is_valid()) ret

form表单的两种提交方式,submit和button的用法

一种是用submit提交.一种是用button提交.方法一: 在jsp的前端页面的头部插入一个js方法: function checkUser(){   var result = document.getElementById("userid").value;   var password = document.getElementById("userpassid").value;   if(result == ""  ){     alert(

form表单用ge方式提交时ie显示中文参数乱码

有网友说 通过给form表单添加accept-charset="gb2312"和 onsubmit="document.charset='gb2312'" 但这样没能解决我的问题,我的源码是这样的: 这样做后,ie搜索还是不能成功, 后这样就可以了: <form method="get" target="_blank" id="searchform" name="searchform&quo

清理浏览器网站缓存的几种方法(meta,form表单,ajax)

1.meta方法   HTML header中加入 <meta http-equiv="pragma" content="no-cache"> 说明:禁止浏览器从本地计算机的缓存中访问页面内容.上述设定,访问者将无法脱机浏览. <meta http-equiv="Cache-Control" content="no-cache,must-revalidate"> 说明:Cache-Control指定请求

form表单有条件的提交

form表单提交数据,比如,积分,score,在0--100之间 1 var score = $('#score').val(); 2 if(score !=''){ 3 if(isNaN(score)){ 4 layer.msg("积分请输入整数类型!"); 5 return false; 6 } 7 if(score<0 || score>100){ 8 layer.msg("积分值请输入0到100以内的数字!"); 9 return false;