下面就通过数据展示软件FineReport来简单介绍一下。
01 FR.ajax 大家知道JS是前端代码,直接由浏览器来执行,不会与服务器进行交互。 通过AJAX,用户就可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。且在不重载页面的情况下与Web服务器交换数据。即所谓的异步请求。
02 调用语法 如下ajax示例: FR.ajax({ url: "some.jsp", type: "GET", data: "p1=a&p2=b", success: function(msg){ alert( "Data Saved: " + msg ); } });
03 ajax中的选项说明 上例中的url、type、data等都是ajax请求设置时的选项,这些选项都是可选的,以下列出常用选项并说明。 async:Boolean 默认为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 注:同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 complete:Function 请求完成后回调函数(请求成功或失败之后均调用)。如下: FR.ajax({ url: "some.jsp", complete: function(XMLHttpRequest, textStatus){ alert(this.url); } }); 其中参数为XMLHttpRequest 对象和一个描述成功请求是否成功的字符串(成功textStatus=success,否则为error)。 在function中可以通过this.xxx来调用该ajax请求中的选项值。 data:Object/String 发送到服务器的数据。GET请求中将自动转换为请求字符串格式,附加在url后。 值必须是Key/Value格式,可以是字符串如"p1=pavalue&p2=p2value",或者是对象如{p1:p1value,p2:p2value}。 dataType:String 预期服务器返回的数据类型。如果不指定,将自动根据HTTP包MIME信息来智能判断。可用值有: "xml":返回 XML 文档 "html":返回纯文本HTML信息;包含的script标签会在插入dom时执行。 "script":返回纯文本JavaScript代码。 "json":返回JSON数据。 "text"返回纯文本字符串。 error:Function 请求失败时调用此函数。如下: FR.ajax({ url: "some.jsp", error: function(XMLHttpRequest, textStatus, errorThrown){ alert(this.url); } }); 其中参数为XMLHttpRequest 对象、错误信息、捕获的异常对象。 通常textStatus和errorThrown之中只有一个会包含信息。 success:Function 请求成功后的回调函数,如下: FR.ajax({ url: "/WebReport/a.html", success: function(data, textStatus){ alert(this.url); } }); 其中data为服务器返回的,并根据dataType参数进行处理后的数据。textStatus为状态值sucess。 timeout:Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。 type:String 请求方式POSTGET,默认为GET。 url:String 发送请求的地址。