HTTP 请求加载远程数据。
通过jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。
$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。
注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。
注意:如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。
参数列表:
这里有几个Ajax事件参数:beforeSend ,success ,complete ,error 。我们可以定义这些事件来很好的处理我们的每一次的Ajax请求。注意一下,这些Ajax事件里面的 this 都是指向Ajax请求的选项信息的(请参考说 get() 方法时的this的图片)。
请认真阅读上面的参数列表,如果你要用jQuery来进行Ajax开发,那么这些参数你都必需熟知的。
实例:
1、请求页面AJax.aspx
HTML代码
<div> <input type="text" /><input type="button" value="查看用户名是否存在" /> <div>div> div>
JS代码
<script type="text/javascript" src="https://www.jb51.net/CSS/jquery-1.3.2.js"></script> <script type="text/javascript"> function JudgeUserName() { $.ajax({ type:"GET", url:"AjaxUserInfoModify.aspx", dataType:"html", data:"userName="+$("#txtName").val(), beforeSend:function(XMLHttpRequest) { $("#showResult").text("正在查询"); //Pause(this,100000); }, success:function(msg) { $("#showResult").html(msg); $("#showResult").css("color","red"); }, complete:function(XMLHttpRequest,textStatus) { //隐藏正在查询图片 }, error:function() { //错误处理 } }); } </script>
2 、页面AjaxUserInfoModify.aspx
后台代码
protected void Page_Load(object sender, EventArgs e) { string userName = Request.QueryString["userName"].ToString (); if (userName == "James Hao") { Response.Write ("用户名已经存在!"); } else { Response.Write ("您可以使用此用户名!"); } }