
ajax是一种传输方式,数据不是提交给ajax,而是 数据 由 ajax提交到后台(并不刷新页面)
要实现一个简单的ajax请求,要这3样东西,一个html页,一段js代码,一个可以响应请求的后台
这里使用了jquery的js框架,原生js的ajax请求我背不住
html
<!--这里需要引用一个jquery的库--><form id="form">
<input name="data" type="text">
<input type="button" value="提交" id="submit">
</form>
<div id="result"></div>
js
$("#submit")click(function(){$ajax({
url:'demophp',
type:"POST",
data:$('#form')serialize(),
success: function(data) {
$("#result")text(data);
}
});
});
demophp
<phpif($_POST['data']){
echo '接受到数据'$_POST['data'];
}else{
echo 没有'接受到数据';
}
>
异步引起的问题。你应该在success函数最后把拼接好的html显示在div中,然后再显示。
做法:定义好一个带有表头的空表格,隐藏它,待加载完数据再显示即可。
<table id="t2" style="display:none">
<tr>表头</tr>
</table>
$ajax({
type: "POST",
url: "<%=path %>/two",
dataType: "json",
data:{'liDu':liDu,'startTime':startTime,'endTime':endTime},
success: function(returnedData){
var html = "";
var tdHead = "<td height='20'><div align='center'><span class='STYLE1'>";
var tdFoot = "</span></div></td>";
$("#t2 tr:gt(0)")remove();//每次刷新,但是不移除表头第一行。
for(var i=0;i<returnedDatalength;i++){
var countInfo = returnedData[i];
var totalCount = countInfototalCount;
var sucCount = countInfosucCount;
var failCount = countInfofailCount;
var unknowCount = countInfounknowCount;
var sucPercent = countInfosucPercent;
var failPercent = countInfofailPercent;
var unknowPercent = countInfounknowPercent;
var countTimeZone = countInfocountTimeZone;
html += "<tr>" + tdHead + (i + 1) + tdFoot +
tdHead + totalCount + tdFoot +
tdHead + sucCount + tdFoot +
tdHead + sucPercent + tdFoot +
tdHead + failCount + tdFoot +
tdHead + failPercent + tdFoot +
tdHead + unknowCount + tdFoot +
tdHead + unknowPercent + tdFoot +
tdHead + countTimeZone + tdFoot + "</tr>";
}
$("#t2")append(html);
$("#t2")show("slow");//我这是一个表格。
}
});
//
创建对象
function
createXML>
后台解析ajax传递的数据,这主要看前端传递数据的格式,主要有以下几种常见的。
1、前端ajax传递表单数据,类似{name:'zhangsan',age:'17'}
后台只需利用requestgetParameter("name")形式即可获取对应的value值。
2、前端传递json数据格式。后台可以直接获取json字符串,然后利用相关的API转成对应的Java对象。或者直接利用springMvc的注解@RequestBody注解。
@RequestMapping(value = "/save")
public void save(@RequestBody User user){
}
这样传递的json数据会自动封装成user对象。
如果当前传递的是一个json数组,则后端可以定义一个VO对象,vo对象中存放一个userList。
public class UserVO{
private List<User> dataList;
}
@RequestMapping(value = "/save")
public void save(@RequestBody UserVO userVO){
}
session 是服务端临时保存的数据,必须由服务端程序来读写
js 是客户端程序,即使使用ajax也是需要向后端程序传递数据,由后端程序写入session中,后端程序才能获取然后通过ajax回调值给js获得值
另外session是唯一的,每个用户只有一个临时的session,别人是获取不到的
bytecount = RequestTotalBytes
bytes = RequestBinaryRead(bytecount)
Set stream = ServerCreateObject("ADODBStream")
streamType = 1 'adTypeBinary
streamOpen()
streamWrite(bytes)
streamPosition = 0
streamType = 2 'adTypeText
streamCharset = "utf-8"
s = streamReadText() 'here is your json as a string
streamClose()
Set stream = nothing
Responsewrite(s)
得到的s就是json格式的字符串,就象{"userid":"apple","password":"test123456"}
然后再利用其它工具可以将json字符串中的相关信息提取出来。这个网上有很多示例。
以上就是关于AJAX表单提交以及数据接收全部的内容,包括:AJAX表单提交以及数据接收、发送ajax请求到后台获取的数据不能显示到d框中,怎么办、有个表单 和一个按钮 怎么用ajax把表单里的数据 提交给后台 我是用VS做的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)