用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();
}
用form表单实现Ajax---post提交的更多相关文章
- jQuery实现form表单基于ajax无刷新提交方法详解
本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC &quo ...
- 关于form表单或者Ajax向后台发送数据时,数据格式的探究
最近在做一个资产管理系统项目,其中有一个部分是客户端向服务端发送采集到的数据的,服务端是Django写的,客户端需要用rrequests模块模拟发送请求 假设发送的数据是这样的: data = {'s ...
- Django框架 之 Form表单和Ajax上传文件
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...
- form表单的ajax验证2
form表单的ajax验证2: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- laravel中form表单,ajax传值没反应
laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...
- jquery序列化form表单使用ajax提交后处理返回的json数据
1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...
- form表单取消按钮自动提交
默认写在form表单里的按钮可以自动提交表单,现在要实现的效果是点击button按钮调用js函数,再有ajax提交 <button type="button" class=& ...
- 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)
服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...
- Django学习系列之Form表单结合ajax
Forms结合ajax Forms的验证流程: 定义用户输入规则的类,字段的值必须等于html中name属性的值(pwd= forms.CharField(required=True)=<i ...
- Django框架form表单配合ajax注册
总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 下面是写的登录页面的实例 1:views视图中的代码 # 注册页面 def regi ...
随机推荐
- 分析循环 Analysis of Loops-------geeksforgeeks 翻译
之前我们讨论了渐进分析,最佳最坏平均情况的分析以及渐进符号.在这一篇中我们分析一下迭代的简单程序. 1. O(1): 如果程序中没有包含任何的循环,递归或者任何的非常数时间的函数,我们就说这个程序的时 ...
- 用js判断时间的先后顺序
我们在用户注册信息的时候,有时根据需要往往要加入一些时间上的判断,今天我在这里给大家推荐一款比较实用的时间先后顺序判断的代码,希望对大家有所有帮助. <!DOCTYPE HTML> < ...
- J2EE中getParameter与getAttribute以及EL表达式${requestScope}和${param[]}
getParameter ① 得到的都是String类型的.如http://name.jsp?name=xy中的xy ② 获取POST/GET传递的参数值 ③ 用于客户端重定向,如点击链接或提交按扭时 ...
- 为Unity项目生成文档(二)
Unity项目生成文档 接着上篇文章:为Unity项目生成文档(一) .Net项目可在VS配置XML 我们可以在VS中通过配置来生成xml文件,但是unity的project,就算同样配置了xml文档 ...
- ant 自动构建血泪史
1. android.bat update project -p . -t xxx 其中: xxx 为 targetid 特别注意的是: targetid 不等于 API Level.... 2. ...
- android app多渠道分发打包
1. 美团多渠道包的方法论 1) maven编译多次 2) apktool一次包,解开重新打 (个人倾向于这个) 3) http://tech.meituan.com/mt-apk-packagi ...
- iOS9 判断微信qq是否安装
iOS 9检测QQ.微信是否安装无效的解决方法 在info.plist里面添加LSApplicationQueriesSchemes(Array类型),然后插入weixin, wechat, mqq的 ...
- 介绍Git版本控制器的使用
Git 简介 Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一). 1.那什么是版本控制器呢? 举个简单的例子,比如我们用Word写文章,那你 ...
- Netty关闭客户端
在启动客户端的时候,我们一般会 channelFuture.channel().closeFuture().sync(); 这是一段阻塞的代码,除非链路断了,否则是不会终止的,我们可以在handler ...
- 021医疗项目-模块二:药品目录的导入导出-介绍poi类
我们使用的是.10版本 Apache POI - the Java API for Microsoft Documents,Apache POI 是用Java编写的免费开源的跨平台的 Java API ...