ajax异步提交的两种方法
第一种是原始的ajax,第二种是在jQuery中使用ajax。这是我为测试两种提交方法而写的一段代码。
1.struts.xml
<package name="json" extends="json-default">
<action name="books" class="com.huawei.struts.BooksAction">
<result type="json"></result>
</action>
</package>
2.action.java
package com.huawei.struts;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class BooksAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String department;
private ArrayList<Book> bookList;
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String execute() {
if(department.equals("huawei")){
setBookList(GetBooks.getBookInfo());
}
return SUCCESS;
}
public ArrayList<Book> getBookList() {
return bookList;
}
public void setBookList(ArrayList<Book> bookList) {
this.bookList = bookList;
}
}
3.jsp
<%@ page contentType=" text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page language="java" import="com.huawei.struts.*"%>
<html>
<head>
<title>Hello World!</title>
<script type="text/javascript" src="js/jquery/jquery-1.8.0.js"></script>
</head>
<body>
<h2>图书查询</h2>
<form>
<input type="button" value="查询" onclick="lookup()" />
</form>
<div id="book"></div>
<script type="text/javascript">
function callbackFun(json) {
var nbook = json.bookList.length;
var str = "";
for ( var i = 0; i < nbook; i++) {
var bookNum = json.bookList[i].num;
var bookName = json.bookList[i].name;
str += ("bookNum:" + bookNum + "<br/>" + "bookName:" + bookName + "<br/>");
var nchap = json.bookList[i].chapters.length;
for ( var j = 0; j < nchap; j++) {
var chapterNum = json.bookList[i].chapters[j].num;
var chapterName = json.bookList[i].chapters[j].name;
str += ("chapterNum:" + chapterNum + "<br/>"
+ "chapterName:" + chapterName + "<br/>");
}
}
$("#book").html(str);
}
function lookup() {
/*
//1.原始的方式
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "books.action?department=" + "huawei", false);
xmlhttp.send();
var text = xmlhttp.responseText;
var json = eval("(" + text + ")");
callbackFun(json);
*/
//2.JQuery的方式
var url = 'books.action';
var param = {
department : 'huawei'
};
jQuery.get(url, param, callbackFun, 'json');
}
</script>
</body>
</html>
4.查询打印结果:
图书查询
bookName:《Java宝典》
chapterNum:1
chapterName:Java概况
chapterNum:2
chapterName:Java语法
bookNum:2
bookName:《C++详解》
chapterNum:1
chapterName:C++概况
chapterNum:2
chapterName:C++语法
var str = JSON.stringify(jsonObj);ajax异步提交的两种方法的更多相关文章
- js阻止表单提交的两种方法
下面直接看代码. <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- ajax获取值的两种方法
详细连接https://blog.csdn.net/a1102325298/article/details/80785143 ajax获得表单值的俩种方法 2018年06月23日 17:12:02 延 ...
- ajax 请求数据的两种方法
实现ajax 异步访问网络的方法有两个.第一个是原始的方法,第二个是利用jquery包的 原始的方法不用引入jquery包,只需在html中编写script 片段 这里我演示的是一个传递参数查询的例子 ...
- vue 异步提交php 两种方式传值
1.首先要在php的入口文件写上一条代码,允许异步提交 header("ACCESS-CONTROL-ALLOW-ORIGIN:*"); 2.在vue有两种方式将数据异步提交到ph ...
- js防止表单重复提交的两种方法
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: 复制代码代码如下: <script language=""javascript"" ...
- 使用JS和JQuery 阻止表单提交的两种方法
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- Ajax请求数据的两种方式
ajax 请求数据的两种方法,有需要的朋友可以参考下. 实现ajax 异步访问网络的方法有两个.第一个是原始的方法,第二个是利用jquery包的 原始的方法不用引入jquery包,只需在html中编写 ...
- ASP.NET MVC 实现AJAX跨域请求的两种方法
通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...
- 使用js提交form表单的两种方法
提交form表单的时候瑶族一些简单的验证,验证完后才能提交,避免无效提交. 1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在前端页面写:有两种方法,一种是用sub ...
随机推荐
- 以forin的方式遍历数组时进行删除操作的注意点
今天在修改某项需求的时候,需要在遍历的时候将匹配项移除掉,采用的时forin的方式遍历,然后运行的时候却crash掉了 for (NSString*str in self.btnArray) { if ...
- MVC5+EF6 入门完整教程九
前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...
- 置信度&置信水平&置信区间
置信水平是指总体参数值落在样本统计值某一区内的概率:而置信区间是指在某一置信水平下,样本统计值与总体参数值间误差范围.置信区间越大,置信水平越高. 例如:估计某件事件完成会在10~12日之间,但这个估 ...
- 【接口】【USB】1.学习笔记
1.USB的优点: 可以热插拔,即插上后可以自动识别: 系统总线供电,USB共有四根线,一根电源线,一根地线,一根D+线,一根D-线,D+和D-线是差分输入线: 可以支持多种设备,且扩展容易,通过HU ...
- 一些免费的WebService的服务网站
Endpoint: http://fy.webxml.com.cn/webservices/EnglishChinese.asmx Disco: http://fy.webxml.com.cn/web ...
- 异步函数封装请确保异步性(Javascript需要养成的良好习惯)
背景假设: 你有许多的配置信息存放在服务器上,因为配置太多,不希望每次都把所有的配置信息都写到前端,希望能需要用的时候再获取就好了. 因为Javascript单线程运行,你不希望堵塞ui渲染于是你专门 ...
- Spring学习笔记
Spring 的控制反转:把对象的创建.初始化.销毁等工作交给Spring 容器来做,有spring容器控制对象的生命周期 applicationContext.xml beans --->sp ...
- inside the C++ Object model总结
一. 关于对象 1.内联函数:能够除去函数调用的开支,每一处内联函数的调用都是代码的复制.这是一种空间换取时间的做法,若函数代码量大或者有循环的情况下,不宜内联(这件事有些编译器会自动帮你做).在类中 ...
- selenium+python+eclipse开发中遇到的问题
1.中文编码问题 报错提示:SyntaxError: Non-ASCII character '\xba' in file D:\autotest\PythonCase\src\selenium\te ...
- 数据库DDL语句书写规范
数据库DDL语句书写规范 1.SQL语句编写说明编写SQL语句应遵循统一的规范,包括大小写.空格.换行.缩进等等,只有完全一样的SQL才能在数据库中共享,从而减少硬解析. 字段类型.长度:根据数据情况 ...