用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 ...
随机推荐
- CentOS7.2安装总结
第一次自己写文章,想想还有点小激动呢.折腾了大半天,终于在一个没用的台式机上面装了个mini版的CentOS7.2.写这篇文章也是做个记载,要是以后再装要注意了. 一.安装过程 采用U盘安装.最初是准 ...
- codeforces 724
题目链接: http://codeforces.com/contest/724 A. Checking the Calendar time limit per test 1 second memory ...
- Daikon Forge GUI 制作UI面板
因为是第一次写技术博客,文章的结构和层次估计不标准,但是并不妨碍我想表达的内容. DF-GUI知识 DF-GUI初窥 DF-GUI于今年10月份面世,作为为数不多的unity UI插件,其功能值得一窥 ...
- 使用CuteSlider做网站炫酷的幻灯片
cuteSlider 1.预览 官网:http://www.cuteslider.com/ 应用:http://www.dutphonelab.org/ 2.资料 文档:http://pan.baid ...
- 梳理git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
- 使用CSS3制作72个webapp图标
前言 移动网络带宽的快慢直接影响webapp应用体验效果的优差,其中加载图片是很耗流量的,所以对这一方面的性能优化是很需要的.一般对于那些小而多的图片(图标)都会采用sprite合并成一张图片来减少h ...
- 两种方式判断类的存在→className getAttribute
通过className获取 var p = document.getElementsByTagName('p'); for(var i = 0;i <p.length;i++){ if(p[i] ...
- result默认返回action中的所有数据,要想返回指定的数据怎么做呢
result默认返回action中的所有数据,要想返回指定的数据怎么做呢?
- unity触发器和碰撞器
Unity中检测碰撞的方法有两种,一种是触发器一种是碰撞器,现在我来解释一下两种的区别. 触发器:有三种方法,分别是OnTriggerEnter,OnTriggerStay,OnTriggerExit ...
- caffe windows 学习第一步:编译和安装(vs2012+win 64)
没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库. 其实操作系统只要是64位就行了, ...