重写了下Ajax请求Webservice,顺便复习一下Javascript的闭包概念
var AjaxRequest = function(){
//返回处理结果的回调函数
this.agentCallBack = {};
//javascript 调用domino代理的方法。
this.ajaxCallAgent = function(agentParam){
$.ajax({
type: "POST",
url: agentParam.url ,
data: agentParam.jsondata,
beforeSend: function(request) {
//request.setRequestHeader("User-Agent","Apache-HttpClient/4.1.1 (java 1.5)");
},
success: agentParam.agentCallBack,
error: function(request, errorInfo) {
alert("agent call failed, please contact your administrator.",errorInfo); // alert("errorInfo = "+errorInfo);
}
});
};
//返回处理结果的回调函数
this.serviceCallBack = {};
//调用javascriptWebService方法
this.CallWebService =function (serviceParam){
this.serviceCallBack = serviceParam.callBack;
$.ajax({
type: "POST",
url: serviceParam.url ,
data: serviceParam.soapdata,
beforeSend: function(request) {
request.setRequestHeader("Content-Type", "text/xml; charset=gbk"); //
request.setRequestHeader("SOAPAction", serviceParam.soapaction);
},
success: this.serviceCallBack,
error: function(request, errorInfo) {
alert("invoke webservice failed, please contact your administrator.");
}
});
}
return this;
}
/*
* 调用webservice的参数,目的是在重复调用时,一次初始化固定的数据
* 变化的参数在调用前初始化不变的默认初始化就可以了
*/
var serviceParam =function(){
this.dbPath = $("[name=dbPath]").val();
this.url = "/"+this.dbPath+ "/wsPurchaseOrder?OpenWebService"; //默认初始化参数
this.ordernumber = $("[name=fldCgddbh]").val();
this.soapaction = {}; //调用前初始化, 需要new 一个参数对象
this.callback = {};
this.soapdata = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:DefaultNamespace">'+
'<soapenv:Header/><soapenv:Body><urn:orderNumber>'+this.ordernumber+'</urn:orderNumber></soapenv:Body></soapenv:Envelope>';
return this;
};
/*
* 调用代理参数少, 没有action
* 传递参数
*/
var agentParam =function(){
this.dbPath = $("[name=dbPath]").val();
this.url = "/"+this.dbPath+ "/agent?openagent"; //默认初始化参数
this.callback = {}; //调用前初始化, 需要new 一个参数对象
this.jsondata = {}; //例如:{ordernumber:ordernumber}
return this;
};
可以拷贝所有代码另存为AjaxRequest.js后引入项目使用
重写了下Ajax请求Webservice,顺便复习一下Javascript的闭包概念的更多相关文章
- SpringMVC下Ajax请求的方法,@Responsebody如果返回的是布尔值,ajax不会接到任何回传数据
SpringMVC框架下,如果用ajax向后台请求得方法如果使用@Responsebody返回布尔值的话,ajax得不到任何的回传数据. 但是如果返回String类型,就是正常的. 测试了下代码写得没 ...
- 跨域Ajax请求WebService方法
一.允许跨域Ajax请求,更改如下配置: 在要调用的WebService上面添加特性标签: 二.以如下返回用户信息的WebService方法为例 三.在另一个网站上通过Ajax访问webService ...
- springmvc框架下ajax请求传参数中文乱码解决
springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord( ...
- Tomcat下ajax请求路径总结
ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"ht ...
- IE8下ajax请求失败的解决方案
今天发现IE9以下的浏览器,ajax请求返回数据异常研究半天发现是type参数未设置,由于默认方式是Get,添加上type:“post”就恢复正常了
- ajax请求webservice时抛出终止线程的异常
请求webservice中以下接口,会抛出异常 {"Message":"正在中止线程.","StackTrace":" 在 Sys ...
- [JS] IE下ajax请求不生效或者请求结果不更新
问题描述: IE8及以下版本里用jQuery发简单的GET时,第一次或者新开窗口后的请求没问题,可以正确返回结果.但是之后刷新页面或者触发某些操作得到的ajax请求结果永远和第一次一样. 问题分析: ...
- ajax请求webservice的过程中遇到的问题总结
前台用ajax的post方法,无法请求到webservice中的方法的时候,需要在配置文件中添加 web.config文件中的 <system.web> 节点下加入:<webServ ...
- AJAX请求WebService
1.WebService代码 [WebMethod] [ScriptMethod(UseHttpGet = false)] public string GetObject() { User user ...
随机推荐
- linux 命令全名
su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk u ...
- Dubbo(二):深入理解Dubbo的服务发现SPI机制
一.前言 用到微服务就不得不来谈谈服务发现的话题.通俗的来说,就是在提供服务方把服务注册到注册中心,并且告诉服务消费方现在已经存在了这个服务.那么里面的细节到底是怎么通过代码实现的呢,现在我们来看看D ...
- 了解EBP指针
在寄存器里面有很多寄存器虽然他们的功能和使用没有任何的区别,但是在长期的编程和使用中,在程序员习惯中已经默认的给每个寄存器赋上了特殊的含义,比如:EAX一般用来做返回值,ECX用于记数等等.在win3 ...
- Codeforces_451_B
http://codeforces.com/problemset/problem/451/B 取前后第一个不满足条件的位置,逆序,判断. #include<cstdio> #include ...
- 搭建 Kubernetes 集群
1.节点规划 master节点:192.168.188.135 node 节点:(node1)192.168.188.136,(node2)192.168.188.137 2.禁用SELinux ...
- 《自拍教程16》cmd的常用技巧
cmd.exe是Windows 自带的命令行操作交互界面软件. 虽然功能有限,但是毕竟是默认的命令行操作交互界面软件. 肯定所有的电脑都是自带的. 当然现在已经有很多改良版的,交互体验更好的cmd类似 ...
- Redis(十):pub/sub 发布订阅源码解析
谈到发布订阅模式,相信不会陌生,典型的观察者模式的实现.然而从表面来看,本地实现一个wait/notify通知.register/update调用, 实现一个远程mq服务, 还有本文说的 pub/su ...
- 如何构建OpenStack镜像
本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...
- 使用Java, AppleScript对晓黑板进行自动打卡
使用Java, AppleScript对晓黑板进行自动打卡 由于我们学校要求每天7点起床打卡,但是实在做不到,遂写了这个脚本. 绪论 由于晓黑板不支持网页版,只能使用App进行打卡,所以我使用网易的安 ...
- weblogic非正常关闭,<BEA-141281>错误
在域下 find -name *.lok , 全删除: 在域下 find -name *.DAT,全删除: 然后就可以正常启动了