ajax:通过 HTTP 请求加载远程数据。
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。
$.ajax参数如下:
- 1、url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
- 2、type:要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。
- 3、async:默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
- 4、data:要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。
get请求中将附加在url后。防止这种自动转换,可以查看 processData选项。对象必须为key/value格式,例如{foo1:”bar1″,foo2:”bar2″}转换为&foo1=bar1&foo2=bar2。
如果是数组,jquery将自动为不同值对应同一个名称。例如{foo:[“bar1″,”bar2”]}转换为&foo=bar1&foo=bar2。 - 5、dataType:要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。
可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。 - 6、jsonp:要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在”callback=?”这种GET或POST请求中URL参数里的”callback”部分,
例如{jsonp:’onJsonPLoad’}会导致将”onJsonPLoad=?”传给服务器。 - 7、success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
(1)、由服务器返回,并根据dataType参数进行处理后的数据。
(2)、描述状态的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
this; //调用本次ajax请求时传递的options参数
} - 8、error:要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
function(XMLHttpRequest, textStatus, errorThrown){
//通常情况下textStatus和errorThrown只有其中一个包含信息
this; //调用本次ajax请求时传递的options参数
} - 9、contentType:要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为”application/x-www-form-urlencoded”。该默认值适合大多数应用场合。
- 10、username:要求为String类型的参数,用于响应HTTP访问认证请求的用户名。
- 11、password:要求为String类型的参数,用于响应HTTP访问认证请求的密码
- 12、timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。
- 13、cache: 要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。
………………..
案例代码:
$(function(){
$(‘#send’).click(function(){
$.ajax({
type: “GET”,
url: “test.json”,
data: {username:$(“#username”).val(), content:$(“#content”).val()},
dataType: “json”,
success: function(data){
$(‘#resText’).empty(); //清空resText里面的所有内容
var html = ”;
$.each(data, function(commentIndex, comment){
html += ‘‘ + comment[‘username’]+ ‘:‘;
});
$(‘#resText’).html(html);
}
});
});
});
—————————————————————————————————————————————–
load参数:load( url, [data], [callback] ),
data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
load()方法默认使用 GET 方式, 如果传递了data参数则使用Post方式。
$(“.divbox”).load(‘http://zhusirs.oschina.io/homepages/index.html #sp-tishi’,function(data){
// $(this).text(data.name)
});
后面可以加类名,也可以css3选择器,是把整个块拿过来,样式自己定义
接入控制好像限制,可能本地浏览器安全限制 还有https
$.get: url,[data],[callback],[type]String,Map,Function,StringV1.0url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
get和ajax差不多 简化了
getJSON通过 HTTP GET 请求载入 JSON 数据。
url,[data],[callback]
和get差不多
getScript 获取js文件的 1.2后可以跨域调用了
两个参数url,[callback]String,FunctionV1.0url:待载入 JS 文件地址。callback:成功载入后回调函数。
post url,[data],[callback],[type] 四个参数
data:待发送 Key/value 参数
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
$(document).ready(function(){ 加载中的一个函数 当 AJAX 请求正在进行时显示“正在加载”的指示:
$(“#txt”).ajaxStart(function(){
$(“#wait”).css(“display”,”block”);
});
$(“#txt”).ajaxComplete(function(){
$(“#wait”).css(“display”,”none”);
});
$(“button”).click(function(){
$(“#txt”).load(“/example/jquery/demo_ajax_load.asp”);
});
});
后面那几个和前面的无异,只不过分开写了 平常用ajax大函数就行了
——————————————————————————————————————–
serialize() 序列表表格内容为字符串。
$(“#results”).append( “<tt style="font-size: 18px; padding: 2px 5px; font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; background: rgb(238, 238, 238);">" + $("form").serialize() + "</tt>” );