重写了下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 ...
随机推荐
- java 排序算法分析
一.冒泡排序(时间复杂度O(N^2)) public int[] bubbling(int[] arr){ ) return arr; ; i--){ 1 ; j < i-; j ++){ 2 ...
- Windows系统以及谷歌浏览器快捷键,控制台常用命令
win10系统 快捷键 win+D 回到桌面 控制台代码(win+R打开控制台) calc 系统计算器 谷歌浏览器快捷键 ctrl+tab 切换标签页 ctrl+ 1/2...9 数字 切换到第几个标 ...
- MySQL5.6数据导入MySQL5.7报错:ERROR 1031 (HY000)
一.故障现象 今天将一个在MySQL5.7上的数据导入到MySQL5.6里面去,默认存储引擎都是InnoDB,导入报错如下: [root@oratest52 data]# mysql -uroot - ...
- react中,路由的使用。import {BrowserRouter,Switch,Route} from "react-router-dom";
import React from "react"; import ReactDom from "react-dom"; import {BrowserR ...
- 技术派-常用的一些VS相关的宏名
用户宏 ConfigurationName 配置名字,通常是Debug或者Release IntDir 编译器使用的中间目录,产出obj文件 OutDir 链接器使用的输出目录 ProjectDir ...
- 机器学习在IC设计中的应用(二)--根据GBA时序结果来预测PBA
本文转自:自己的微信公众号<集成电路设计及EDA教程> <机器学习在IC设计中的应用(二)--根据GBA时序结果来预测PBA> AOCV AOCV全称:Advanced OCV ...
- golang学习笔记(一):包,变量,函数
欢迎访问我的博客和github! go 语言学习笔记第一弹,来自 gotour ,以后要常写笔记,把自己学习笔记记录下来,就算只是笔记也要多写. 好记性不如烂笔头,也要多锻炼自己的写作能力. 说实话, ...
- [Python源码剖析]获取Python小整数集合范围
#!/usr/bin/env python #-*- coding=utf-8 -*- small_ints = dict() for i in range(-10000,10000): small_ ...
- POJ_1221_DP
http://poj.org/problem?id=1221 简单dp,dp[i][j]表示i被划分成首位>=j的方案数. dp[i][i]为1,i为偶数时dp[i][i/2]为2. 剩下的可以 ...
- 使用 TF-IDF 加权的空间向量模型实现句子相似度计算
使用 TF-IDF 加权的空间向量模型实现句子相似度计算 字符匹配层次计算句子相似度 计算两个句子相似度的算法有很多种,但是对于从未了解过这方面算法的人来说,可能最容易想到的就是使用字符串匹配相关的算 ...