AJAX表单提交以及数据接收

AJAX表单提交以及数据接收,第1张

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

<php

if($_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做的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10071236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存