自定义封装dojo通用ajax提交表单

/**
 * dojo的ajax提交form(post方式)<br>
 * 返回值以0为成功标识<br>
 * 前提是已经引用了相应的dojo.js<br>
 */
function dojoAjaxForm(form, dataType, callBack) {
	var type = "text";
	
	if (dataType) {
		type = dataType;
	}
	
	require([ "dojo/_base/xhr" ], function(xhr) {
		xhr.post({
			form : form,
			handleAs : type,
			load : function(data) {
				if (callBack) {
					eval(callBack + '(data)');
				} else {
					var result = "操作成功!";
					if (data != 0) {
						result = data;
					}
					showDojoDialog(result);
				}
			},
			error : function(error) {
				showDojoDialog(error);
			}
		});
	});
}

 使用时,默认是使用text来处理返回值,如果返回0则认为成功,如果不是0则使用dialog显示返回值。注:showDialog也是自己封装的方法,可改成alert

调用时最简单的是只传一个form的id就行,如果要自定义处理返回值,可加入type和回调函数

调用示例

dojoAjaxForm("formId");


dojoAjaxForm("formId","json",function(data){
   alert(data.id);
});
 

相关推荐