源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

[js]轻便的XMLHttpRequest应用函数:downloadUrl()

  • 时间:2021-05-18 02:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:[js]轻便的XMLHttpRequest应用函数:downloadUrl()
前段时间在用google map api的函数库的时候,发现里面的downloadUrl函数非常好用,所以自己写了一个。用腻了那些什么框架什么池,到头来发现越简单的东西越是适合我这种懒人。 downloadUrl(url, callback, data); 参数说明: url不用说了; callback是回调函数,函数调用的时候会有两个参数:data, responseCode,data就是responseText,responseCode就是status; data是要post的数据,get方式时此参数可省略。 用法一:直接把回调函输写在参数中 downloadUrl('http://www.ugia.cn/wp-data/test.htm', function (data, responseCode) { alert(data); // 这里处理返回的数据 }); 用法二:先定义回调函数,然后传入 function test(data, responseCode) { alert(data); // 这里处理返回的数据 } downloadUrl('http://www.ugia.cn/wp-data/test.htm', test); 源代码:
[u]复制代码[/u] 代码如下:
/**  * download url lite  *  * @author: legend(legendsky@hotmail.com)  * @link: http://www.ugia.cn/?p=122  * @version: 1.0  *  * @param string   url  * @param string   callback  回调函数  * @param string  data      post数据  *  * @return void  */ function downloadUrl(url, callback, data) {     // init     url += url.indexOf("?") > 0 ? "&" : "?";     url += "random_download_url=" + Math.random();     if (typeof data == 'undefined')     {         var data = null;     }     method = data ? 'POST' : 'GET';     // create XMLHttpRequest object     if (window.XMLHttpRequest)     {         var objXMLHttpRequest = new XMLHttpRequest();     }     else     {         var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];         for(var n = 0; n < MSXML.length; n ++)         {             try             {                 var objXMLHttpRequest = new ActiveXObject(MSXML[n]);                 break;             }             catch(e)             {             }         }     }     // send request     with(objXMLHttpRequest)     {         //setTimeouts(30*1000,30*1000,30*1000,30*60*1000);         try         {             open(method, url, true);             if (method == 'POST')             {                 setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');             }             send(data);         }         catch(e)         {             alert(e);         }         // on ready         onreadystatechange = function()         {             if (objXMLHttpRequest.readyState == 4)             {                 callback(objXMLHttpRequest.responseText, objXMLHttpRequest.status);                 delete(objXMLHttpRequest);             }         }     } } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部