jquery.ajax详解

jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据

这个是jQuery 的底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。

$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。

注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 “text/xml”)。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。
当设置 datatype 类型为 ‘script’ 的时候,所有的远程(不在同一个域中)POST请求都回转换为GET方式。

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

jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 “jsonp” 时,jQuery 将自动调用回调函数。(这个我不是很懂)

参数列表:

 

参数名 类型 描述
url String (默认: 当前页地址) 发送请求的地址。
type String (默认: “GET”) 请求方式 (“POST” 或 “GET”), 默认为 “GET”。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
async Boolean (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend Function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。

function (XMLHttpRequest) {

         this; // the options for this ajax request          }
cache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
complete Function 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。

function (XMLHttpRequest, textStatus) {

         this; // the options for this ajax request          }
contentType String (默认: “application/x-www-form-urlencoded”) 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
data Object,
String
发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:[“bar1”, “bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。
dataType String 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

“xml”: 返回 XML 文档,可用 jQuery 处理。

“html”: 返回纯文本 HTML 信息;包含 script 元素。

“script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。

“json”: 返回 JSON 数据 。

“jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。

function (XMLHttpRequest, textStatus, errorThrown) {

         // 通常情况下textStatus和errorThown只有其中一个有值           this; // the options for this ajax request          }
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 “application/x-www-form-urlencoded”。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态

function (data, textStatus) {

         // data could be xmlDoc, jsonObj, html, text, etc...          this; // the options for this ajax request          }

 

这里有几个Ajax事件参数:beforeSend success complete ,error 。我们可以定义这些事件来很好的处理我们的每一次的Ajax请求。注意一下,这些Ajax事件里面的 this 都是指向Ajax请求的选项信息的(请参考说 get() 方法时的this的图片)。
请认真阅读上面的参数列表,如果你要用jQuery来进行Ajax开发,那么这些参数你都必需熟知的。

示例代码,获取博客园首页的文章题目:

$.ajax({

type: "get",

url: "http://www.cnblogs.com/rss",

beforeSend: function(XMLHttpRequest){//ShowLoading(); },
success: function(data, textStatus){

$(".ajax.ajaxResult").html("");

$("item",data).each(function(i, domEle){

$(".ajax.ajaxResult").append("<li>"+$(domEle).children("title").text()+"</li>");

});

},

complete: function(XMLHttpRequest, textStatus){//HideLoading(); },
error: function(){//请求出错处理 }
});

【转】如何插入背景音乐和背景图片(附HTML语法教程地址)

插入背景音乐:   代码: <*EMBED SRC="音乐文件地址">
  
 说明:
  
SRC="FILENAME"—— 设定音乐文件的路径
   AUTOSTART=TRUE/FALSE——TRUE:自动播放,FALSE:不自动播放,默认为FALSE
   LOOP=TRUE/FALSE——设定播放重复次数,LOOP=N表示重复N次,TRUE表示无限次播放,FALSE播放一次即停止。
   STARTIME="分:秒"——设定乐曲的开始播放时间,如20秒后播放写为STARTIME=00:20
   VOLUME=0-100——设定音量的大小。如果没设定的话,就用系统的音量。
   WIDTH HEIGHT—— 设定控制面板的大小
   HIDDEN=TRUE—— 隐藏控制面板
   CONTROLS=CONSOLE/SMALLCONSOLE——设定控制面板的样子
例一:
   <*EMBED SRC="midi.mid"autostart=true hidden=true loop=true>

   注:隐藏了播放器。

例二:
   <*EMBED SRC="midi.mid"loop=true width=145 height=60>

  注:有控制面板,开关、音量可调。可播放mp3 rm ra ram asfmid等音乐。
例三:IE中的的背景音乐
   <bgsoundsrc="音乐文件地址" loop=#>

  注明: #=循环数;          只有在IE浏览器中才可以听到。插入wav wma mid等格式的音乐。

例四: 一般格试如下:
   <*embed width="100" height="20"type="audio/x-pn-realaudio-plugin" autostart="true"controls="ControlPanel" src="歌曲链接地址">

例五:大播放器不直接放
  <*center><EMBED src=歌曲链接地址 volume="100" width=250height=20 hidden="FALSE" autostart="fault"type="audio/x-pn-realaudio-plugin"controls="PlayButton"></EMBED>

例六:播放器直接放
   <*embedwidth="426" height="20" type="audio/x-pn-realaudio-plugin"autostart="true" controls="ControlPanel"src="歌曲链接地址">

例七:仿真播放器rm
   <*embedsrc="歌曲链接地址" width="280,80%" height="60,80%"autostart="true"><embed>

例八:视频点击播放
   <*objectid=videowindow1 width=480 height=330classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"><paramname=URL value=歌曲链接地址><param name=AUTOSTARTvalue=0></object><br />
  注:1. 使用的时候把*号去掉
       2. 插入mp3 rm ra ram asfmid等音乐文件,如果要隐藏播放器,把width和height的数值改成0或者1即可。

 语法二:
   <bgsound src="音乐文件地址"loop=3>

   说明:一般用来插入wav wmamid等格试的音乐文件。

   <EMBED src=http://www.lonelytebit.org/music/alone.wmavolume="100" width=0 height=0 hidden="FALSE" autostart="fault"type="audio/x-pn-realaudio-plugin"controls="PlayButton"></EMBED>
 插入背景图片

 代码:
   <TABLE align=center background="帖子背景图" border=0cellPadding=0 cellSpacing=0 borderColor=#ffff00width="100%"><TBODY><TR><TD>

   帖子内容,文字或图片…..

   </TD></TR></TBODY></TABLE>

   <TABLE> 的参数设定(常用):

   <table width="400" border="1" cellspacing="2"cellpadding="2" align="CENTER" valign="TOP" background="myweb.gif"bgcolor="#0000FF" bordercolor="#CF0000" bordercolorlight="#00FF00"bordercolordark="#00FFFF" cols="2">
  说明:   width="400"——表格宽度,接受绝对值(如 80)及相对值(如80%)。
  border="1"——表格边框的厚度,不同浏览器有不同的内定值,故请指明。
   cellspacing="2"—— 表格格线的厚度
   align="CENTER"——表格的摆放位置(水平),可选值为: left,right, center
   valign="TOP".——表格内内容的对齐方式(垂直),可选值为: top,middle, bottom。  
   background="myweb.gif"——表格的背景图片,与 bgcolor不要同用。
   bgcolor="#0000FF"——表格的底色,与 background 不要同用
   bordercolor="#CF0000"——表格边框颜色
   bordercolorlight="#00FF00"——表格边框向光部分的颜色
   bordercolordark="#00FFFF"——表格边框背光部分的颜色,使用bordercolorlight 或 bordercolordark 时 bordercolor 将会失效。
  cols="2"——表格栏位数目,只是让浏览器在下载表格时先画出整个表格而已。 附:HTML基本语法教程:
http://www.gzsums.edu.cn/webclass/html/html_design.html
在线编辑器:http://www.cn898.net/bg/mx/ 

二. 帖图格式
  <IMGsrc="图片连接URL地址"><*IMG> 称图形标记,主要用来插入图形标记。

   <IMG> 的一般参数设定:例如:<img src="logo.gif" width=100 height=100 hspace=5 vspace=5border=2 align="top" alt="Logo of PenPals Garden"lowsrc="pre_logo.gif">

说 明:    接受.gif, .jpg  .png图片,尺寸以pixels作单位。
  src="logo.gif"——图片来源   width=100 height=100 ——图片大小。
   hspace=5——设定图片左右的空间    vspace=5——设定图片上下空白
   border=2——图片边框厚度
    align="top"——调整图片旁边文字的位置(或top,middle, bottom, left, right),内定为 botom,Netscape 还支持texttop, baseline, absmiddle, absbottom,
   texttop —— 图片和文字依顶线对齐,
   baseline —— 图片与文字底行对齐,
   absmiddle —— 图片与文字中央对齐,
   absbottom —— 图片与文字底行底边对齐
   alt="Logo of PenPalGarden"——描述该图形的文字,若使用文字浏览器,由于不支持图片,这些文字将会代替图片被显示。若支持图片的浏览器,当鼠标移至图片上该文字也会显示。
  lowsrc="pre_logo.gif"——设定先显示低解析度的图片,若加入的是一张很大的图片,下载要很长的时间,这张低解析度的图片会先被显示以免浏览者失去兴趣,通常是原图的黑白版本。
例一:
   <IMG border=0 height=92src="http://www.cn898.net/bbs/UploadFile/20045243172762519.gif"width=130>  例二:
  <imgsrc="http://www.cn898.net/bbs/UploadFile/20045243172762519.gif"width=130 height=92 border=0 hspace=10 vspace=20"> 例三:
   <imgsrc="http://www.cn898.net/bbs/UploadFile/20045243172762519.gif"width=130 height=92 border=4 align=middle>
例四:
   <i
mgsrc="http://www.cn898.net/bbs/UploadFile/20045243172762519.gif"width=180 height=152 border=0>
例五:
   <imgsrc="http://www.cn898.net/bbs/UploadFile/20045243172762519.gif"width=130 height=92 border=0 align=right>
 一.文字设制
 代码:
   <P align=center><FONT color=#0066ff face=隶书size=5>插入文字</FONT></P>
  说明:   align=center——字体居中(或right、left)
   color=颜色代码——字体颜色
   face=字体
   size=字体大小,最大值为7。取值越大文字就越大

二.大字体文字
 代码:  <font style=font:40pt face=新宋体color=#ff0000>插入文字</font>
 说明:
   font:40pt 数值越大文字就越大。

三.移动文字设置
 代码一:   <marquee direction=移动方向scrollamount=移动速度数值>插入文字</marquee>

 说明:direction=移动方向(up、down、left或right)

 代码二:
   <marqueebehavior=移动效果>插入文字</marquee>

 说明:
   behavior=scroll—— 一圈一圈绕着走 
   behavior=slide——只走一次     behavior=alternate——来回走
  停停走走代码如下:
   <marquee scrolldelay=500scrollamount=100>插入文字</marquee>

四.文字特效显示:
 代码一::<CENTER><FONT style="COLOR: #e4dc9b; FILTER:shadow(color=black); FONT-FAMILY: 华文彩云; FONT-SIZE: 30pt;LINE-HEIGHT: 150%; WIDTH:100%"><B>欢迎光临中年贴图</B></FONT></CENTER>

 代码二:<CENTER><FONT style="COLOR: #e4dc9b; FILTER:glow(color=black); FONT-FAMILY: 华文彩云; FONT-SIZE: 30pt;LINE-HEIGHT: 150%; WIDTH:100%"><B>欢迎光临中年贴图</B></FONT></CENTER>

 代码三:<CENTER><FONT color=#0099ff style="FILTER:blur(add=1, direction=40,strength=10); FONT-SIZE: 30px;FONT-WEIGHT: bolder; POSITION: relative; LINE-HEIGHT: 150%; WIDTH:450px">欢迎光临中年贴图</FONT></CENTER>

 代码四:
 <MARQUEE behavior=alternate direction=upheight=150 scrollAmount=5><MARQUEE behavior=altrnatescrollAmount=2 width=460 <IMGsrc="http://www.east128.com/bbs/UploadFile/2003-9/20039251018214901.gif"><FONTcolor=red face=楷体_gb2312size=7>欢迎光临中年贴图</FONT></MARQUEE></MARQUE></MARQUEE>

 代码五:
 <FONT color=#0096ff face=隶书size=7><MARQUEE height=50width=240>欢迎你朋友</FONT></MARQUEE><FONTcolor=#0000ff face=隶书 size=7><MARQUEE direction=rightheight=50width=240>友朋你迎欢</MARQUEE></FONT></FONT>

 注明:   在用这种效果时,文字移动范围的宽width的取值很重要,两段文字移动范转的width取值和一定要小于背景层width的取值。