bjuiajax
bjuiajax是B-JUI封装的一系列ajax异步请求。
B-JUI消息JSON
当ajax请求时,服务端可以仅返回一个消息JSON告知前端框架处理的结果,这个JSON的格式如下:
{
"statusCode" : 200,
"message" : "处理成功!"
}
消息JSON的参数
JSON的keystatusCode、message可以在框架初始化时通过参数keys更改,statusCode的状态值有ok、error、timeout,代表成功、失败、超时三种类型,可以通过参数statusCode更改。
doajax异步请求
通过data属性使用:
Data API Ajax提交1
通过JS API使用:
BJUI.ajax('doajax', {
url: 'json/ajax/ajax-test1.json',
loadingmask: true,
okCallback: function(json, options) {
console.log('返回内容:\n'+ JSON.stringify(json))
}
})
参数:
名称
类型
默认值
描述
url
string
null
[必选] D-Url ajax处理的URL,a链接触发时可以将url定义在href属性。
type
string
POST
[可选] ajax请求方式。
data
object
null
[可选] ajax请求发送到服务器的数据。
confirmMsg
string
null
[可选] 执行动作前的确认提示。
okalert
boolean
true
[可选] 请求正常返回后,是否弹出相应的信息提示,当返回内容不是B-JUI消息JSON时,建议关闭。
callback
function(json)
null
[可选] 自定义回调函数。
okCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallback
function(json, options)
null
[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallback
function(msg, options)
null
[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
loadingmask
boolean
false
[可选] ajax请求时是否显示数据加载遮罩。
target
selector
null
[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
reload
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
forward
string
null
[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirm
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrent
boolean
false
[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabid
string
null
[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogid
string
null
[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
divid
string
null
[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagrids
string
null
[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflag
boolean
true
[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeout
int
BJUI.ajaxTimeout
[可选] 请求超时设置,即$.ajax的timeout属性。
请求返回成功状态
指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。
ajaxform异步表单提交
通过data属性使用(带验证):
姓名
住址
提交表单
通过JS API属性使用(无验证):
BJUI.ajax('ajaxform', {
url: 'json/ajax/ajax-test1.json',
form: $.CurrentNavtab.find('form:eq(1)'),
validate: false,
loadingmask: true,
okCallback: function(json, options) {
console.log('返回内容1:\n'+ JSON.stringify(json))
}
})
参数:
名称
类型
默认值
描述
url
string
null
[必选] 提交的URL,未指定时将取form的action属性。
type
string
POST
[可选] ajax请求方式,未指定该参数时会取form的method属性值。
confirmMsg
string
null
[可选] 提交表单前的确认提示。
beforeSubmit
function(form)
null
[可选] 执行动作前的确认函数,返回false时不提交表单。
validate1.31
boolean
true
[可选] 提交表单前是否需要验证(需要验证插件nicevalidate支持)。
alertmsg
boolean
false
[可选] 是否弹出验证未通过的信息提示。
okalert
boolean
true
[可选] 请求正常返回后,是否弹出相应的信息提示。
callback
function(json)
null
[可选] 自定义回调函数。
okCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallback
function(json, options)
null
[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallback
function(msg, options)
null
[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
form
selector
null
[可选] 要提交的表单,通过JS API使用时需要。
loadingmask
boolean
true
[可选] ajax请求时是否显示数据加载遮罩。
target
selector
null
[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
reload
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
forward
string
null
[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirm
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrent
boolean
false
[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabid
string
null
[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogid
string
null
[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
divid
string
null
[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagrids
string
null
[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflag
boolean
true
[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeout
int
BJUI.ajaxTimeout
[可选] 请求超时设置,即$.ajax的timeout属性。
请求返回成功状态
指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。
doload异步加载
通过Data属性使用:
Data API Ajax载入
通过JS API使用:
BJUI.ajax('doload', {
url: 'html/base/ajax_layout1.html',
target: '#ajaxload_test_box'
})
参数:
名称
类型
默认值
描述
target
selector
null
[必选] 目标容器的 jQuery选择器表达式 或 DOM对象。
url
string
null
[必选] D-Url 远程加载的URL,a链接触发时可以将url定义在href属性。
type
string
GET
[可选] ajax请求方式。
data
object
null
[可选] ajax请求发送到服务器的数据。
autorefresh
boolean/int(秒)
null
[必选] 指定该div容器是否可自动刷新,为true时默认间隔15秒自动刷新,指定具体的秒数则以指定的间隔秒值自动刷新。
callback
function(json)
null
[可选] 加载成功后的回调函数。
loadingmask
boolean
true
[可选] ajax请求时是否显示数据加载遮罩。
ajaxTimeout
int
BJUI.ajaxTimeout
[可选] 请求超时设置,即$.ajax的timeout属性。
方法:
方法名
参数类型
参数说明
描述
refreshdiv(id)
string
一个或多个div容器ID,多个ID以,分隔
刷新指定id的div容器。
refreshlayout(target)
selector
目标容器的 jQuery选择器表达式 或 DOM对象
刷新指定的div容器。
reloadlayout(options)
object
同doload的默认参数
重新载入某个div容器。
方法使用示例:
// 重新加载 #ajaxload_test_box 容器
BJUI.ajax('reloadlayout', {target:'#ajaxload_test_box', url:'html/base/ajax_layout2.html'})
ajaxdownload异步下载
通过Data属性使用:
ajax下载
通过JS API使用:
BJUI.ajax('ajaxdownload', {
url:'../ajaxdownload?t=1',
loadingmask: true
})
参数:
名称
类型
默认值
描述
url
string
null
[必选] D-Url 下载的URL。
type
string
GET
[可选] ajax请求方式。
data
object
null
[可选] 发送到服务器的数据。
target
selector
null
[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
loadingmask
boolean
false
[可选] ajax请求时是否显示数据加载遮罩。
confirmMsg
string
null
[可选] 下载前的确认提示。
failCallback
function(responseHtml, url)
B-JUI框架提示及取消loadingmask遮罩效果。
[可选] ajax请求失败时的回调函数。
prepareCallback
function(url)
根据loadingmask参数加载遮罩。
[可选] ajax请求中的回调函数。
successCallback
function(url)
取消loadingmask遮罩效果。
[可选] ajax请求成功的回调函数。
ajaxdownload说明
需要依赖插件$.fileDownload。
ajaxsearch搜索表单1.31
通过data属性使用(不验证):
姓名
住址
搜索表单
通过JS API属性使用(带验证):
BJUI.ajax('ajaxsearch', {
url: '../../html/base/ajax.html',
form: $.CurrentNavtab.find('form:eq(1)'),
validate: true,
loadingmask: true
})
参数:
名称
类型
默认值
描述
url
string
null
[必选] 提交的URL,未指定时将取form的action属性。
type
string
POST
[可选] ajax请求方式,未指定该参数时会取form的method属性值。
beforeSubmit
function(form)
null
[可选] 执行动作前的确认函数,返回false时不提交表单。
validate
boolean
true
[可选] 提交表单前是否需要验证(需要验证插件nicevalidate支持)。
alertmsg
boolean
false
[可选] 是否弹出验证未通过的信息提示。
searchDatagrid
selector
null
[可选] 将form域中的信息用来搜索指定datagrid,如果有该参数,则参数okalert之后的参数都无效。
form
selector
null
[可选] 要提交的表单,通过JS API使用时需要。
loadingmask
boolean
true
[可选] ajax请求时是否显示数据加载遮罩。
target
selector
null
[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
okalert
boolean
true
[可选] 请求正常返回后,是否弹出相应的信息提示。
callback
function(json)
null
[可选] 自定义回调函数。
okCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallback
function(json, options)
null
[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallback
function(json, options)
null
[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallback
function(msg, options)
null
[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
reload
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
forward
string
null
[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirm
boolean
false
[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrent
boolean
false
[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabid
string
null
[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogid
string
null
[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
divid
string
null
[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagrids
string
null
[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflag
boolean
true
[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeout
int
BJUI.ajaxTimeout
[可选] 请求超时设置,即$.ajax的timeout属性。
请求返回成功状态
指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。