`
diqizhan
  • 浏览: 146348 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jQuery的ajax应用

阅读更多
项目中的应用,先看来自jQuery API1.3的介绍。

通过 HTTP 请求加载远程数据。

jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。

$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。

注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。

注意:如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)

jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。

我的应用,主要是在load一个jsp页面时,即时加载下拉框select的内容。

对应的jsp页面:
<select id='state' style="width: 154px" name="m.state"></select>


jsp对应的js页面代码:

$(document).ready(function () {
	loadStateForQuery();
});

function loadStateForQuery() {
	$.ajax({
		url: contextPath + '/icmgr/icInfoItem/loadState.action',//请求的URL
		data: {dictTypeId:'PC_STATE'},//传递给action的参数
		async: false,
		dataType: 'json',
		success: function(records) {
			$.each(records, function(index, value) {
				var opt = $('<option></option>').attr('value', value.dictId).text('[' + value.dictId + ']' + value.dictName);
				opt.appendTo($('#state'));
			});
		}
	});
	$('#state').append($('<option value=""></option>').attr('selected', 'selected'));
}


请求的action部分:
	/**
	 * ajax 调用
	 * @return
	 */
	public String loadState() {
		List<JfDictBean> list = icInfoItemService.findDictByDictTypeId(dictTypeId);
		JSONArray json = JSONArray.fromObject(list);
		writePlainText(json.toString());
		return NONE;
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics