通过 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 将自动调用回调函数。
3.例子:不经过表单提交添加信息
Jquery代码:
function sub()
{
$.ajax(
{
"type":"POST",///提交方式
"url":"address.php?job=addother&id=$rsdb[id]&act=add",//提交的Url,可以只是一个url,参数写在data中,也可以在这里写参数
"data":{参数格式:参数名:值如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为'&foo=bar1&foo=bar2'。
"username":$('#username').val(),
"province_id":$('#province_id').val(),
"city_id":$('#city_id').val(),
"street":$('#street').val(),
"zode":$('#zode').val(),
"telphone":$('#telphone').val(),
"mobilephone":$('#mobilephone').val()
},
"dataType":"json",//预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串
"cache":false,
success:function(data){//请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串
if(!data.success)
{
alert(data.data.message);
}
else{
$('#hiddiv').hide();
$('#hiddiv').empty();
$('#adlist').load("address.php?job=adlist");
}
}
}
);
}
Html:
<table width="700px" border="0" cellspacing="0" cellpadding="0" height="200"
align="center">
<tr>
<td>添加收货地址:您好,在这里可以预设您的收货地址,最多$webdb[addressnum]个。带<span
style="color: #FF0000">*</span>为必填项</td>
</tr>
<tr>
<td align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0"
id="postcontent">
<tr>
<td height="28" align="right" class="left">收款人姓名<span
style="color: #FF0000">*</span></td>
<td align="left"><input type="text" name="username"
id="username" value="$rsdb[username]" /></td>
</tr>
<tr>
<td width="85" height="28" align="right" class="left">收货地址<span
style="color: #FF0000">*</span></td>
<td align="left"><span id="province_id">$province_id</span><span id="city_id">$city_id</span><span
id="zone_id">$zone_id</span></td>
</tr>
<tr>
<td height="28" align="right" class="left">街道地址<span
style="color: #FF0000">*</span></td>
<td align="left"><input type="text" name="street" id="street"
style="width: 300px;" value="$rsdb[street]" /></td>
</tr>
<tr>
<td height="28" align="right" class="left">邮政编码<span
style="color: #FF0000">*</span></td>
<td align="left"><input type="text" name="zode" id="zode"
value="$rsdb[zode]" /></td>
</tr>
<tr>
<td height="28" align="right" class="left">电话号码<span
style="color: #FF0000">*</span></td>
<td align="left"><input type="text" name="telphone"
id="telphone" value="$rsdb[telphone]" /> 手机 <input type="text"
name="mobilephone" id="mobilephone" value="$rsdb[mobilephone]" />
电话号码和手机至少填一个
</td>
</tr>
</table>
<div style="padding: 10px" width="956" align="center"><input
name="submit1" type="button" id="submit1" value=" 确 认 " onclick="sub()"/>
<input type="button" id="cancel" value=" 取 消 " onclick="cancel()"></input>
</div>
<div id="showmsg"></div>
</td>
</tr>
</table>