有关Ajax实现的两种方法
首先我们来常见的Jquery式的Ajax写法,以及在java后台的取值
/**
*AJAX
*/
function showLastTime(){
var facilityId = $('*[name="facilityId"]').val(); //页面取值
var mainteType = $("#mainteType").val();
var mainteWorkNm = $("#mainteWorkNm").val();
var url = AP_BASE_URL + "c412s/showLastYmd/"; //url的生成
if(facilityId !=""&&mainteType !=""&&mainteWorkNm !=""){
$.ajax({
async:false, //false为同步(用户需要等待刷新完才能操作),true为异步(不需要等待,可以进行其他操作)
url: url, //请求的URL
type: 'POST', //两种方式POST和GET,POST方式为隐形传输,GET会将所传参数和值拼写在url中(推荐POST)
data: {
//以下为所需传递的参数
'facilityId':facilityId,
'mainteTypeCd':mainteType,
'mainteWorkId':mainteWorkNm
},
//cache: false,
error: function(XMLHttpRequest, textStatus, errorThrown){
ajaxError(XMLHttpRequest, textStatus, errorThrown);
},
success: function(data) { //data为后台传回的数据
$(".info").html(data); //收到回传数据后执行的操作
}
});
}else{
$(".info").text("");
}
return false;
}
其次为普通JS的Ajax的写法
function showLastTime2(){
var mainteType = $("#mainteType").val();
var mainteWorkNm = $("#mainteWorkNm").val();
var facilityId = $('*[name="facilityId"]').val();
var url = AP_BASE_URL + "c412s/showLastYmd2/";
var xmlhttp;
//创建XMLHttpRequest 对象
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{ // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if(facilityId !=""&&mainteType !=""&&mainteWorkNm !=""){
xmlhttp.open("POST",url,false); //向服务器发送请求,false为同步(用户需要等待刷新完才能操作),true为异步(不需要等待,可以进行其他操作)
xmlhttp.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded"); //如果使用POST方式必须添加该行代码,向请求添加 HTTP 头
xmlhttp.send("mainteTypeCd="+mainteType+"&mainteWorkId="+mainteWorkNm+"&facilityId="+facilityId); //传参
xmlhttp.onreadystatechange=function(){ //如果服务器状态改变触发事件
if(xmlhttp.readyState==4 && xmlhttp.status==200){ //不懂查看下表,大意为在请求完成并且状态为OK时
$(".info").html(xmlhttp.responseText); //xmlhttp.responseText为服务器传回的值
}
};
}else{
$(".info").text("");
}
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState |
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status |
200: "OK" 404: 未找到页面 |
后台Java代码取值
public String showLastYmd2(HttpServletRequest request HttpServletResponse response){
request.getParameter("facilityId");
request.getParameter("mainteTypeCd");
request.getParameter("mainteWorkId");
response.write("data"); //传回参数
}
有关Ajax实现的两种方法的更多相关文章
- ajax后台请求两种方法(js和jQuery)
(1)js的ajax var xmlHttp; if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); }else{ xmlHttp=new ...
- ASP.NET MVC 实现AJAX跨域请求的两种方法
通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...
- Ajax中解析Json的两种方法详解
eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name&qu ...
- Ajax中解析Json的两种方法
eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name" ...
- C# web api 返回类型设置为json的两种方法
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- jQuery插件开发的两种方法及$.fn.extend的详解(转)
jQuery插件开发的两种方法及$.fn.extend的详解 jQuery插件开发分为两种:1 类级别.2 对象级别,下面为大家详细介绍下 jQuery插件开发分为两种: 1 类级别 类级别你可以 ...
- 用easyui实现查询条件的后端传递并自动刷新表格的两种方法
用easyui实现查询条件的后端传递并自动刷新表格的两种方法 搜索框如下: 通过datagrid的load方法直接传递参数并自动刷新表格 通过ajax的post函数传递参数并通过loadData方法将 ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- windows下获取IP地址的两种方法
windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...
随机推荐
- yo angualr-fullstatck 项目打包部署
yoeman使用grunt进行打包部署,直接运行grunt命令即可,期间会对代码进行检查,如果存在不规范的地方jshint会指定出来. grunt会对静态资源进行打包而且对资源文件名进行了MD5作为版 ...
- SANS top 20
What Are the Controls?The detailed Consensus Audit Guidelines are posted at http://www.sans.org/cag/ ...
- BAT之间的区别(学点网页编程,然后开始研究)
A: 阿里不就是靠网页起家的吗? T: 腾讯靠客户端. B: 百度是靠网页背后的算法技术支持- 最近网页技术又发布了很多新功能,而现在网页功能也已经很强大了. 不知道自己是不是老了,总觉得不喜欢网页( ...
- 【HDOJ】1208 Pascal's Travels
记忆化搜索.注意当除右下角0外,其余搜索到0则返回. #include <algorithm> #include <cstdio> #include <cstring&g ...
- bzoj3573[Hnoi2014]米特运输
http://www.lydsy.com/JudgeOnline/problem.php?id=3573 好吧,虽然这是day1最后一题,但却是最水的一题....(前提:看懂题目) 仔细看题! 仔细看 ...
- datagridview的数据源的操作
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 使用read(),write(),seekg(),seekp()实现二进制方式文件随机存取
// binary.cpp -- binary file I/O #include <iostream> #include <fstream> #include <iom ...
- STL——heap的4大操作
STL的堆操作 STL里面的堆操作一般用到的只有4个:make_heap();.pop_heap();.push_heap();.sort_heap(); 他们的头文件函数是#include < ...
- Java学习日记-11 集合(1)
Collection接口集合中存储的只是对象的引用,不是对象本身. 1.ArrayList<E>类1.1ArrayList和Collection的关系 public interface L ...
- M - Escape - HDU 3605 - (缩点+最大流SAP)
题目大意:2012世界末日来了,科学家发现了一些星球可以转移人口,不过有的人可以在一些星球上生存有的人不行,而且每个星球都有一定的承载量,现在想知道是否所有的人都可以安全转移呢? 输入:首先输入一个N ...