uexXmlHttpMgr查看3.0文档

  • 1、简介
  • 2、API概览
  • 3、更新历史

    1、简介

    跨域异步请求插件
    1.1、说明
    本插件一般与官方提供的JSSDK关联使用,即对appcan私有的异步请求进行封装的网络请求 Request接口 官方默认提供的是最新插件,同时提供的最新的jssdk文件是兼容最新版本插件,如有问题可优先排查此处.
    1.2、UI展示
    1.3、开源源码
    插件测试用例与源码下载:点击插件中心至插件详情页 (插件测试用例与插件源码已经提供)
1.4、平台版本支持

本插件的所有API默认支持Android4.0+iOS7.0+操作系统.
有特殊版本要求的API会在文档中额外说明.

1.5、接口有效性

本插件所有API默认在插件版本4.0.0+可用.
在后续版本中新添加的接口会在文档中额外说明.

2、API概览

2.1、方法
create //创建一个请求对象

uexXmlHttpMgr.create(param)

说明:

创建一个请求对象

参数:

参数名称 参数类型 是否必选 说明
param Object 请求的相关设置,相关字段见下
var param = {
    method:,
    url:,
    timeout:,
    certificateValidation:,
}

各字段含义如下:

字段名称 类型 是否必选 说明
method String 请求的方法,请传"POST"或者"GET"
url String 请求的URL
timeout Number 请求超时时间,单位毫秒,默认为30000
certificateValidation Boolean 是否开启证书校验.默认false,此配置项仅iOS支持,但对Android无影响,可配置开启ssl证书信任链校验。
  • 关于certificateValidation:

    • 对于非https连接,此参数不起作用
    • 对于使用不在Apple信任链中的证书(比如自签名证书)的https请求,此参数设为true会导致请求失败
    • 对于使用Apple信任证书的https请求,建议设置此参数为true,以提高安全性
    • 部分服务器可能会要求前端进行证书校验.这种情况下,设置此参数为false将会导致请求失败

    返回值:

返回XmlHttp请求对象 如果创建失败,返回null

示例:

var req = uexXmlHttpMgr.create({
    method:"GET",
    url:"http://192.168.1.4:45678/get?key1=value1&key2=value2&arr[]=aaa&arr[]=bbb&arr[]=ccc",
    timeout:15000,
});
if(!req){
    alert("创建请求失败!");
}
send //发送请求

uexXmlHttpMgr.send(req, flag,onResult,onProgress)

说明:

发送请求

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
flag Number 本次请求的flag.取值范围:0、1、2、3.(仅Android支持) 当flag传入1时,表示通知底层,将本次请求的header、状态码、结果等输出log到日志文件. 当flag传入2时,表示通知底层,如果本次请求发生了异常,就将本次请求的异常输出log到日志文件. 当flag传入3时,表示通知底层,0x1和0x2的操作均需要.
onResult Function 请求状态有变化时,将调用此回调函数
onProgress Function 当发送Post请求进行文件上传时,会通过此函数来回调上传进度

回调参数:

var onResult = function(status,resStr,resCode,resInfo){}
参数名称 参数类型 是否必选 说明
status Number 当前请求状态 -1:请求失败 0:请求进行中 1:请求成功
resStr String 服务器返回的文本数据
resCode Number http请求返回的状态码
resInfo Object 服务器返回的信息,详细结构见下
var resInfo = {
    responseHeaders:,//Object类型,必选,response请求头信息
    responseStatusCode:,//Number类型,必选,response状态码
    responseStatusMessage:,//String类型,必选,response状态码的含义
    responseError:,//String类型,可选,若请求失败,此项为失败的原因
}
var onProgress = function(progress){}
参数名称 参数类型 是否必选 说明
progress Number 上传进度百分比,取值范围为0~100

示例:

var req = ...;//之前通过create接口创建的Request对象

uexXmlHttpMgr.send(req,0,
                    function(status,resStr,resCode,resInfo){
                           alert("status  :" + status    + "\nresult:" + resStr + "\nresCode:" + resCode + "\nresInfo:" + JSON.stringify(resInfo));
                   },
                   function(progress){
                        document.getElementById('progress').innerHTML =  "上传进度:" + progress;
                   });
close //关闭请求对象

uexXmlHttpMgr.close(req)

说明:

关闭请求对象.

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create

返回值:

Boolean类型,是否关闭成功.

示例:

var req = ...;//之前通过create接口创建的Request对象
var ret = uexXmlHttpMgr.close(req);
alert(ret);
setPostData //设置POST请求内容

uexXmlHttpMgr.setPostData(req, dataType, key, value)

说明:

设置POST请求内容,可以进行多次操作.(仅POST方式支持)

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
dataType Number 请求中要发送的数据格式. 0-文本 1-文件
key String 请求数据中的对应的键
value String dataType为0时,value为要发送的文本数据,dataType为1时,value为要发送的文件的路径,路径支持res:// ,wgt:// ,wgts:// ,file:// 协议

返回值:

Boolean类型,是否设置成功

示例:

var req = ...;//之前通过create接口创建的Request对象
var result1 = uexXmlHttpMgr.setPostData(req,0, "field1", "Hello");
var result2 = uexXmlHttpMgr.setPostData(req,1, "field2", "res://image.jpg");
alert(result1);
alert(result2);
setInputStream //根据本地文件设置请求体

uexXmlHttpMgr.setInputStream(req, filePath)

说明:

仅POST方式支持 将指定请求的POST body设置为指定文件的二进制流 此操作会覆盖其他设置POST请求内容的操作

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
filePath String 文件路径,支持res:// ,wgt:// ,wgts:// ,file:// 协议

返回值: Boolean类型,是否设置成功

示例:

var req = ...;//之前通过create接口创建的Request对象
var file = "res://12.jpg";
var ret = uexXmlHttpMgr.setInputStream(req, file);
alert(ret);
setBody //设置post请求发送的数据体

uexXmlHttpMgr.setBody(req, data)

说明:

仅POST方式支持 将指定请求的POST body设置为传入的文本数据

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
data String 请求中要发送的数据体

示例:

var req = ...;//之前通过create接口创建的Request对象
var ret = uexXmlHttpMgr.setBody(req, "body content");
alert(ret);
setAppVerify //设置是否在请求头中加入appVerify字段

uexXmlHttpMgr.setAppVerify(req,isVerify)

说明:

设置是否在请求头中加入appVerify字段,字段格式如下appVerify:md5=appid:appKey:ts;ts=本次请求的时间戳,这些是插件内部处理.

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
isVerify Number 0:不在请求头中增加appVerify字段,对本次请求不做任何处理 1:在请求头中增加appVerify字段,get、post都会增加

返回值:

Boolean类型,是否设置成功

示例:

var req = ...;//之前通过create接口创建的Request对象
var ret = uexXmlHttpMgr.setAppVerify(req, 1);
alert(ret);
setHeaders //设置请求头

uexXmlHttpMgr.setHeaders(req, json)

说明:

设置请求头

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
json String 要设置的请求头, json数据格式.

返回值:

Boolean类型,是否设置成功.

示例:

var req = ...;//之前通过create接口创建的Request对象
var header = {
    testHeaderField:"testHeaderValue"
}
var ret = uexXmlHttpMgr.setHeaders(req, JSON.stringify(header));
alert(ret);
setCertificate //设置本次异步请求使用的数字证书

uexXmlHttpMgr.setCertificate(req, passsword, path)

说明:

设置本次异步请求使用的数字证书

参数:

参数名称 参数类型 是否必选 说明
req Request create接口创建的请求对象,见create
password String 数字证书密码.当使用appcan默认证书时,此参数应为null或者""
path String 证书路径,支持 file://,res://,wgt://等协议路径, 当传入'default'时,本次请求将取appcan默认数字证书.

返回值:

Boolean类型,是否设置成功

示例:

var req = ...;//之前通过create接口创建的Request对象
var ret = uexXmlHttpMgr.setCertificate(req, "" , "default");
alert(ret);

uexXmlHttpMgr.getCookie(url)

说明:

获取指定url的cookie信息

参数:

参数名称 参数类型 是否必选 说明
url String 想要获取的cookie所属对应的url

返回值:

String类型,包含了该URL的所有cookie信息

示例:

var ret = uexXmlHttpMgr.getCookie("http://www.baidu.com/");
alert(ret);

uexXmlHttpMgr.clearCookie()

说明:

清空cookie信息

参数:

示例:

uexXmlHttpMgr.clearCookie()

3、更新历史

iOS

API版本: uexXmlHttpMgr-4.0.3

最近更新时间:2017-03-07

历史发布版本 更新内容
4.0.3 create接口传入的json中添加配置项certificateValidation,支持开启ssl证书信任链校验
4.0.0 跨域异步请求功能插件
Android

API版本: uexXmlHttpMgr-4.0.2

最近更新时间:2017-02-27

历史发布版本 更新内容
4.0.2 修复某些异常情况下导致的崩溃问题
4.0.1 修复cookie 的问题
4.0.0 4.0
还需要帮助吗? 联系我们
最新更新 10th Mar 2017