用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 ...
随机推荐
- 机器学习:logistic回归
逻辑回归是一个形式是Y=1/(1+E(-X))的函数,它的特点是: 1, 当X>0,随着X增大,Y很快的接近1: 2,当x<0,随着X的减小,Y很快的接近0: 3,当X=0时,Y=1/2. ...
- 数据库系统概论(第5版) P262 例8.12
#include <iostream> #include <stdlib.h> #include <stdio.h> #include <Windows.h& ...
- 边工作边刷题:70天一遍leetcode: day 89-1
Smallest Rectangle Enclosing Black Pixels 要点:记题:这题有两个限制条件:所有black pixel是连通的(所以可以用binary search)以及给了一 ...
- css让浮动元素水平居中
对于定宽的非浮动元素我们可以用 margin:0 auto; 进行水平居中. 对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题.如下: HTML 代码: <div class=&q ...
- npm install时报错 npm ERR!Windows_NT 6.1.7601
解决办法:先设置代理为空 npm config set proxy null, 然后再npm install cnpm -g --registry=https://registry.npm.taoba ...
- C++ 基础笔记(一)
解释型和编译型 解释型: 边解释边执行,翻译成机器代码后就执行. 编译型: 整篇代码编译成机器码后,保存在可执行文件中,然后启动该程序文件,运行获得结果. Hello World #include & ...
- 转:Metronic – 超赞!基于 Bootstrap 的响应式后台管理模板
http://www.cnblogs.com/lhb25/p/metronic-responsive-admin-dashboard-template.html
- Android Studio下载与安装
Android Studio下载与安装 1 2 3 4 5 分步阅读 百度经验:jingyan.baidu.com 自从Google宣布Android Studio将取代Eclipse,正式成为官方集 ...
- 后台首页品字形(frameset)框架搭建
get_defined_constants([true])//显示所有常量信息.参数true,表示分组显示,查看当前系统给我提供了哪些常量可以使用,包括自定义常量. __CONTROLLER__//获 ...
- JS的Document属性和方法
Attributes 存储节点的属性列表(只读)childNodes 存储节点的子节点列表(只读)dataType 返回此节点的数据类型Definition 以DTD或XML模式给出的节点的定义(只读 ...