使用jQueryajax()方法的指南
jQuery提供了一个简单而强大的选择器,也提供了良好的支持Ajax操作。在Ajax,jQuery提供了以下简单的方法除了提供基本的jquery.ajax()方法:(1)jquery.get(URL,{资料},{回调},{型})
(2)jquery.getjson(URL,{资料},{回调})
(3)jquery.getscript(回调URL,{ })
(4)jquery.post(URL,{资料},{回调},{型})
因为jquery.ajax()功能更强大,有许多可配置的参数,并对该方法的注意要点进行了总结现在。
1。jquery.ajax()默认是异步方式的要求,如果需要同步、异步的参数是错误的,因为有些应用程序同步请求数据。例如,在一些flash和js交互应用,一个js函数需要立即返回请求的数据。在这一点上,一个同步的Ajax调用必须使用。
2。Ajax如果请求,返回的数据一般会被浏览器缓存,如果你不想被缓存,你可以设置缓存参数为false;或发送请求的时间戳,所以浏览器会认为新请求,并从服务器加载数据。当然,请求发送用后不会被缓存。
三.数据类型:预计将由服务器返回的数据类型,如果不指定,jQuery将自动返回responseXML之外或responseText基于HTTP包MIME信息和作为一个回调函数参数传递,有效值:
(1)XML:返回到XML文档并使用jQuery处理它。
(2)html:返回纯文本HTML信息;当插入DOM时,将执行所包含的脚本标记。
(3)脚本:返回纯文本Javascript代码。结果不会自动缓存。除非在远程请求中设置了缓存参数。通知:不在同一个域中,所有POST请求都将转换为获取请求。(因为DOM的脚本标记将被加载)
(4)JSON:返回到JSON数据。
(5)json:json格式。当使用JSONP形式来调用一个函数,如myurlcallback =jQuery将自动替换功能正确执行回调函数的名称。
(6)文本:返回纯文本字符串
其中,脚本和JSON设置可以解决Ajax的跨域问题。
4。如果服务器返回一个字符串或一个数值,您可以使用普通的ajax调用。
如果服务器返回一个JSON对象,最好是使用jquery.getjson或设置数据类型= json.because浏览器解析JSON对象需要时间,直接返回JSON对象,节省时间去解决,避免错误,服务器无法恢复数据,但浏览器不能让他们。
5。Ajax调用需要时间,所以Ajax调用后的处理代码一般放在回调方法中:
复制代码代码如下所示:
功能getmyprizelist(){
如果(isnotempty(UID)){
var obj =新的对象();
尝试{
jquery.ajax({类型:拿
obj = JSON;
}
});
} catch(e){ }
obj = eval((+对象+));
/ /警报(obj);
var;
(我在为var obj)
{
STR + =++ prizearray { obj {我}。prizeno } +
STR + =+ 'cd-key:+ obj {我} CDKEY +。
STR + =+:+ obj {我}。expiratedate ++ ''before期限;
}
jQuery(# prizelist )追加(STR);
}
}
必须这样处理:即将到来的代码被放入成功函数中!
复制代码代码如下所示:
功能getmyprizelist(){
如果(isnotempty(UID)){
var obj =新的数组();
尝试{
jquery.ajax({类型:拿
缓存:false,
DataType:剧本
scriptcharset:GBK
成功:函数(JSON){
尝试{
obj =结果;
} catch(e){ }
jQuery(# prizelist)。Html();
var;
对于(var i = 0;i < obj.length;i++){
STR + =+ prizearray { obj {我}。prizeno } +;
STR + = 'cd-key:+ obj {我} CDKEY +;
STR + = 'term:前+ obj {我}。expiratedate +;
}
jQuery(# prizelist )追加(STR);
}
});
} catch(e){ }
}
}
6。jquery.getjson例子:
复制代码代码如下所示:
内部功能、债务人加载的实现细节、设置值
功能innershowdetail(){
获取JSON数据格式
美元。getJSON(负荷。做,{编号:用户名},功能(JSON){)
根据键值集
对于(JSON中的键){
如果(关键= = 'id'){
$(# detaildiv # +键)。瓦迩(JSON {key});
{ { { }
如果(JSON { }=){
没有值被设置为null。
$('#detailDiv #'+ key).Html (' ');
否则如果}(关键= = 'sex){
$(# detaildiv # +键)。Html(JSON {key} = = 0女性,男性);
否则如果}(关键= =组){
如果({键})!= NULL){
$(# detaildiv # +键)。Html(JSON { } { }的关键'groupname);
}
{人}
$(# detaildiv # +键)。Html(JSON {key});
}
}
}
设置对话框的名称和内容
$(# detaildiv)。RemoveAttr(' ');
Dialog.setTitle(++'username JSON { } } { '员工查看详细信息);
dialog.setcontent($(' # detaildiv)。Html());
});
}