AJAX接口及普通AJAX使用及示例

以下为示例:
1:AJAX接口
var Ajax=function(){
var request=new ActiveXObject("Msxml2.XMLHTTP");
var remoteURL;
var sync=false;
var requestParameter=new Object();
var cache=false;
//设置cache
this.setCache=function(flag){
cache=flag;
};
this.isSync=function(){
sync=true;
};
/**
* 远程请求AJAX 地址
*/
this.setRemoteURL=function(url){
remoteURL=url;
};
//获取url地址
var getCacheParameterString=function(){
if(!cache){
return "&random="+Math.random();
}
return '';
};
/**
* 设置的请求参数
*/
this.setParameter=function(key,value){
requestParameter[key]=value;
};
/**
* 获取请求参数,local函数
*/
var getParameterString=function(){
var parameterString="";
for(var key in requestParameter){
var value=requestParameter[key];
parameterString=parameterString+"&"+key+"="+value;
}
//如果存在参数
if(parameterString!=""){
parameterString="?"+parameterString.substring(1);
}
return parameterString;
};
/**
* 处理请求
*/
this.sendGetRequest=function(){
//获取请求参数
request.open("get",remoteURL+getParameterString()+getCacheParameterString(),!sync);
//状态改变
var self=this;
//回调函数
request.onreadystatechange=function(){
if (request.readyState == 1){
self.onLoading();
}
if(request.readyState == 4){
if(request.status==200){
self.onSuccess();
}else{
self.onError();
}
}
};
request.send("");
};

this.sendPostRequest=function(){
//获取请求参数
request.open("post",remoteURL,!sync);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//状态改变
var self=this;
//回调函数
request.onreadystatechange=function(){
if (request.readyState == 1){
self.onLoading();
}
if(request.readyState == 4){
if(request.status==200){
self.onSuccess();
}else{
self.onError();
}
}
};

request.send(getParameterString());
};

//获取返回TEXT
this.getResponseText=function(){
return request.responseText;
}
//获取返回HTML
this.getResponseXML=function(){
return request.responseXML;
}
/**
* 正在处理操作
*/
this.onLoading=function(){
alert("数据获取中");
};
//成功操作
this.onSuccess=function(){
alert("返回成功");
};
//如果失败
this.onError=function(){
alert("失败");
};
}

function queryPolicyListByInfo(){
var policyNo = document.form_A.policyNo.value;
var certificateNo = document.form_A.certificateNo.value;
var insurantName = document.form_A.insurantName.value;
var partyNo = document.form_A.partyNo.value;
var page = document.form_A.page.value;
var pageSize = document.form_A.pageSize.value;
var ajax = new Ajax();
ajax.onLoading=function(){
document.getElementById("resultDiv").innerText="你到底是出来了啊!";
};
ajax.onError=function(){
document.getElementById("resultDiv").innerText="你到底是出来啊";
};
ajax.onSuccess=function(){
var result = ajax.getResponseText();
document.getElementById("resultDiv").innerText=result;
}
ajax.setRemoteURL("common/queryPolicyList.do");
ajax.setParameter("policyNo",policyNo);
ajax.setParameter("certificateNo",certificateNo);
ajax.setParameter("insurantName",insurantName);
ajax.setParameter("partyNo",partyNo);
ajax.setParameter("page",page);
ajax.setParameter("pageSize",pageSize);
ajax.sendGetRequest();
}

protected ModelAndView handleRequestInternal
(HttpServletRequest request, HttpServletResponse response) {
try {
if (request.getMethod().equals("GET"))
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml; charset=GBK");
response.setDateHeader("Expires", 0L);
PrintWriter out = response.getWriter();
XMLOutputter outputter = new XMLOutputter();
AJAXXMLDocument icssdoc = new AJAXXMLDocument();
AJAXRequest aRequest = new AJAXRequest(request, response);
AJAXResponse result = new AJAXResponse();
result = handleRequest(aRequest);
if (result != null) {
icssdoc.setReturnFlag(String.valueOf(result.getReturnFlag()));
icssdoc.setReturnMessage(result.getReturnMsg());
Iterator it = result.keySet().iterator();
while (it.hasNext()) {
String key = (String) it.next();
icssdoc.addObject(key, result.get(key));
}
} else {
icssdoc.setReturnFlag("-1");
icssdoc
.setReturnMessage("\u8fd4\u56de\u7ed3\u679c\u4e3a\u7a7a");
}
outputter.setEncoding("GBK");
outputter.output(icssdoc.getICSsXMLDocument(), out);
out.flush();
out.close();
} catch (Exception e) {
logger.error(e.getMessage(), e);
response.setContentType("text/xml; charset=GBK");
response.setDateHeader("Expires", 0L);
XMLOutputter outputter = new XMLOutputter();
AJAXXMLDocument icssdoc = new AJAXXMLDocument();
icssdoc.setReturnFlag("-1");
icssdoc.setReturnMessage
("\u7cfb\u7edf\u5185\u90e8\u9519\u8bef\uff1a"
+ e.getMessage());
try {
PrintWriter out = response.getWriter();
outputter.setEncoding("GBK");
outputter.output(icssdoc.getICSsXMLDocument(), out);
out.flush();
out.close();
} catch (IOException e1) {
logger.error(e.getMessage(), e);
}
}
return null;
}

2:普通AJAX使用示例
var XMLHttpReq;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
}

function changeValue(departmentCode) {
alert(departmentCode);
createXMLHttpRequest();
if(departmentCode=="")
{
alert("请选择机构码!");return;
}
var url="<c:url value="/commonset/departmentAccount/searchTaxNoByDepartmentCode.do"/>"+"?departmentCode="+departmentCode;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = updateText;
XMLHttpReq.send(null);
}

function updateText() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var res = XMLHttpReq.responseText;
alert(res);
document.getElementById("taxno").value=res;
} //else {
//alert('你所请求的页面有问题');
//}
}
}

protected ModelAndView handleRequestInternal(HttpServletRequest request,HttpServletResponse response) throws Exception{
//第一步 创建ServiceRequest
Map map = new HashMap();
String departmentCode = request.getParameter("departmentCode");
System.out.println("haha");
System.out.println(departmentCode);

map.put("departmentCode", departmentCode);

ServiceRequest serviceRequest = new ServiceRequest();
//ID必须在biz-context.xml中定义
serviceRequest.setRequestedServiceID(BizContextNames.SEARCH_TAX_INFO_ACTION);
serviceRequest.setCurrentRequestObject(map);

//第2步 dispatchService()将请求转发到业务层
ServiceResponse serviceResponse = dispatchService(serviceRequest,WebContextNames.PAFA_AC);

//第3步 返回数据模型和视图供前台显示
Map model = serviceResponse.getModel();
System.out.println(model);
String taxRegisterNo="";
if(model.containsKey("searchTaxNoResult")){
taxRegisterNo = (String) model.get("searchTaxNoResult");
}
System.out.println("qqqqq");
System.out.println("11111111"+taxRegisterNo);
//List resultList = (List) model.get(ServiceResponse.SERVICE_RESPONSE_RESULT);
/*DepartmentAccountDTO departmentAccountDTO=null;
String taxRegisterNo="";
if(resultList.size()>0)
{
departmentAccountDTO=(DepartmentAccountDTO)resultList.get(0);
taxRegisterNo=(String)departmentAccountDTO.getTaxRegisterNo();
} */

//response.setCharacterEncoding("GBK");


response.setHeader("Charset", "GBK");
//response.setCharacterEncoding("GBK");

response.setContentType("text/xml");
PrintWriter writer = response.getWriter();
writer.write(taxRegisterNo);
writer.flush();
return null;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个使用 JavaScript 和 AJAX 技术的接口示例: ``` // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 设置请求方式和请求地址 xhr.open('GET', 'https://api.example.com/data'); // 监听请求状态变化 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 请求成功,处理返回的数据 var data = JSON.parse(xhr.responseText); console.log(data); } }; // 发送请求 xhr.send(); ``` 以上代码通过创建 XMLHttpRequest 对象,设置请求方式和请求地址,监听请求状态变化,发送请求等步骤,实现了使用 AJAX 技术获取数据的功能。 ### 回答2: Js使用Ajax接口可以实现网页与服务器之间的数据交互。下面是一个使用Ajax接口的简单示例: 首先,在网页中添加一个按钮,当用户点击按钮时,触发一个函数。 ``` <button onclick="loadData()">点击加载数据</button> ``` 接下来,在Javascript中定义一个函数loadData(),用于发送Ajax请求并处理返回的数据。 ``` function loadData() { // 创建一个XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 设置请求的方法和URL xhr.open("GET", "http://example.com/api/data", true); // 设置请求的头部信息,默认为"application/x-www-form-urlencoded" xhr.setRequestHeader("Content-type", "application/json"); // 监听请求的状态变化 xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { if (xhr.status === 200) { // 请求成功,处理返回的数据 var response = JSON.parse(xhr.responseText); console.log(response); } else { // 请求失败,处理错误信息 console.error("请求失败:" + xhr.status); } } }; // 发送请求 xhr.send(); } ``` 在上述代码中,首先创建了一个XMLHttpRequest对象,然后使用open()方法设置请求的方法和URL。在这里以GET方法请求"http://example.com/api/data"这个接口。可以根据实际情况修改请求的方法和URL。 接着使用setRequestHeader()方法设置请求的头部信息,这里设置为"application/json"表示请求的数据格式为JSON。可以根据实际情况修改请求的数据格式。 然后监听请求的状态变化,在请求完成且成功返回数据时,使用JSON.parse()方法将返回的数据转换为JSON对象,并进行相应的处理。当请求失败时,输出错误信息。 最后使用send()方法发送请求。在网页中点击按钮时,会触发loadData()函数,发送请求并处理返回的数据。 ### 回答3: 使用JavaScript的ajax接口,我们可以通过向服务器发送请求来获取数据,而无需刷新整个页面。以下是一个简单的ajax接口示例: HTML部分: ```html <!DOCTYPE html> <html> <head> <title>Ajax示例</title> <script src="path/to/jquery.min.js"></script> <!-- 引入jQuery库 --> </head> <body> <h1 id="data"></h1> <!-- 用于显示从服务器获取到的数据 --> <script src="path/to/script.js"></script> <!-- 引入自定义的JavaScript文件 --> </body> </html> ``` JavaScript部分 (script.js): ```javascript $(document).ready(function(){ // 当页面加载完成后执行以下代码 $.ajax({ url: "path/to/server.php", // 服务器端的地址 type: "GET", // 请求类型为GET dataType: "json", // 服务器返回的数据类型为JSON success: function(data){ // 请求成功后的回调函数 $("#data").text(data); // 在页面上显示从服务器获取到的数据 }, error: function(){ // 请求失败后的回调函数 $("#data").text("请求失败"); } }); }); ``` 在这个示例中,我们使用了jQuery库的ajax方法来发送GET请求到服务器的`server.php`文件。服务器会返回一个JSON格式的数据,然后在成功回调函数中,我们将这个数据显示在页面上。如果请求失败,会在失败回调函数中显示"请求失败"。 这是一个简单的ajax接口示例,可以根据实际需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值