首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

分享实用代码段,顺便过年散分(1),该怎么解决

2012-01-10 
分享实用代码段,顺便过年散分(1)杯具了最高只让俺发100分过年回来继续……引用萧伯纳一段话:“倘若你有一个苹

分享实用代码段,顺便过年散分(1)
杯具了···最高只让俺发100分··过年回来继续……

引用萧伯纳一段话:“倘若你有一个苹果,我也有一个苹果,而我们彼此交换这些苹
果,那么你和我仍然是各有一个苹果。但是,倘若你有一种思想,我也有一种思想,而
我们彼此交换这些思想,那么,我们每人将有两种思想。”

合作·共享才能共赢。
欢迎大家在此分享各种代码,只要代码够精彩,另外开贴散分。

首先声明:以下代码段并非全是本人作品,部分引自网络。

先来一段,抛砖引玉!其它代码我会在回帖里面贴出来。

C# code
/// <summary>        /// C#读取文件时自动判断编码函数        /// </summary>        /// <param name="FILE_NAME">需要判断编码方式文件的物理路径如"C:\file\file.txt"</param>        /// <returns></returns>        public static System.Text.Encoding GetType(string FILE_NAME)        {            FileStream fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);            System.Text.Encoding r = GetType(fs);            fs.Close();            return r;        }        public static System.Text.Encoding GetType(FileStream fs)        {            /*byte[] Unicode=new byte[]{0xFF,0xFE};              byte[] UnicodeBIG=new byte[]{0xFE,0xFF};              byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/            BinaryReader r = new BinaryReader(fs, System.Text.Encoding.Default);            byte[] ss = r.ReadBytes(4);            r.Close();            //编码类型 Coding=编码类型.ASCII;               if (ss[0] <= 0xEF)            {                if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF)                {                    return System.Text.Encoding.UTF8;                }                else if (ss[0] == 0xFE && ss[1] == 0xFF)                {                    return System.Text.Encoding.BigEndianUnicode;                }                else if (ss[0] == 0xFF && ss[1] == 0xFE)                {                    return System.Text.Encoding.Unicode;                }                else                {                    return System.Text.Encoding.Default;                }            }            else            {                return System.Text.Encoding.Default;            }        }


[解决办法]
good~~
[解决办法]
新年快乐!
[解决办法]
常用代码不少帖子有
[解决办法]
新年快乐!
[解决办法]
C# code
// 反转一个字符串public static string Reverse(string s){  char[] c = s.ToCharArray();  System.Array.Reverse(c);  return new string(c);}
[解决办法]
接分,共庆新年
[解决办法]
元旦快乐

C# code
 DataBBS DB = new DataBBS();    protected string city=null;    protected void Page_Load(object sender, EventArgs e)    {        string wheres = " and fid=40", tables = "fsoo_topics";        string page = Request["page"];        if (PageValidate.IsDigit(Request, "city") != string.Empty)        {            wheres += " and typeid="+ Request["city"] +"";            city=Request["city"];        }        Page PageClass = new Page(tables, "tid,title,sortid", wheres, "tid", "1", "tid", "job.aspx?city="+ city +"&page=", 45, page, "");        PageClass.Get_Content2(newslist);        pagestring.Text = PageClass.Get_Page();    }    protected string Get_name(string typeid)    {        string Get_str = null;        if (typeid != null && typeid.Length != 0 && typeid.Trim()!="")        {            DataTable dt = DB.GetDataTable("caozuo 1,'fsoo_topicsclass','id,name','id in (" + typeid.Trim() + ")','typeid asc'");            for (int i = 0; i < dt.Rows.Count; i++)            {                Get_str += dt.Rows[i][1].ToString() + ",";            }        }        return Get_str;    } 


[解决办法]
新年快乐!
[解决办法]
happy new year!
[解决办法]

C# code
 /// <summary>        /// 将DataGirdView数据,导出EXCEL文件.        /// </summary>        /// <param name="dgv">DataGridView控件名称</param>        /// <param name="name">导出excel文件名称</param>        public static void ToExcel(DataGridView dgv, string name)        {            try            {                //总可见列数,总可见行数                int colCount = dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible);                int rowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Visible);                //dataGridView 没有数据提示                if (dgv.Rows.Count == 0 || rowCount == 0)                {                    MessageBox.Show("列表中没有数据无法导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);                    return;                }                SaveFileDialog save = new SaveFileDialog();                save.Filter = "excel files(*.xls)|*.xls";                save.Title = "请选择要导出数据的位置";                save.FileName = name + DateTime.Now.ToLongDateString();                save.InitialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop);                if (save.ShowDialog() == DialogResult.OK)                {                    XlsDocument xls = new XlsDocument();//创建空xls文档                    xls.FileName = save.FileName;//保存路径,如果直接发送到客户端的话只需要名称 生成名称                    Worksheet sheet = xls.Workbook.Worksheets.Add(name); //创建一个工作页为Dome                                           //设置文档列属性                     ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性                    cinfo.Collapsed = true;                    //设置列的范围 如 0列-10列                    cinfo.ColumnIndexStart = 0;//列开始                    cinfo.ColumnIndexEnd = 10;//列结束                    cinfo.Collapsed = true;                    cinfo.Width = 90 * 60;//列宽度                    sheet.AddColumnInfo(cinfo);                    //设置文档列属性结束                    //设置指定工作页跨行跨列                    MergeArea ma = new MergeArea(1, 1, 1, dgv.ColumnCount);//从第1行跨到第二行,从第一列跨到第5列                    sheet.AddMergeArea(ma);                    //设置指定工作页跨行跨列结束                    //创建列样式创建列时引用                    XF cellXF = xls.NewXF();                    cellXF.VerticalAlignment = VerticalAlignments.Centered;                    cellXF.HorizontalAlignment = HorizontalAlignments.Centered;                    cellXF.Font.Height = 24 * 12;                    cellXF.Font.Bold = true;                    cellXF.Pattern = 0;//设定单元格填充风格。如果设定为0,则是纯色填充                    cellXF.PatternBackgroundColor = Colors.Black;//填充的背景底色                    cellXF.PatternColor = Colors.Black;//设定填充线条的颜色                    //创建列样式结束                    //创建列                    Cells cells = sheet.Cells; //获得指定工作页列集合                    //列操作基本                    Cell cell = cells.Add(1, 1, name, cellXF);//添加标题列返回一个列  参数:行 列 名称 样式对象                    //设置XY居中                    cell.HorizontalAlignment = HorizontalAlignments.Centered;                    cell.VerticalAlignment = VerticalAlignments.Centered;                    //设置字体                    cell.Font.Bold = true;//设置粗体                    cell.Font.ColorIndex = 0;//设置颜色码                               cell.Font.FontFamily = FontFamilies.Roman;//设置字体 默认为宋体                                   //创建列结束                      //生成字段名称                    int k = 0;                    for (int i = 0; i < dgv.ColumnCount; i++)                    {                        if (dgv.Columns[i].Visible)  //不导出隐藏的列                        {                            Cell title = cells.Add(2, k + 1, dgv.Columns[i].HeaderText);                            title.HorizontalAlignment = HorizontalAlignments.Centered;                            title.VerticalAlignment = VerticalAlignments.Centered;                            k++;                        }                    }                    //填充数据                    for (int i = 0; i < dgv.RowCount; i++)                    {                        k = 1;                        for (int j = 0; j < dgv.ColumnCount; j++)                        {                            if (dgv.Columns[j].Visible)  //不导出隐藏的列                            {                                if (dgv[j, i].ValueType == typeof(string))                                {                                    cells.Add(i + 3, k, "" + dgv[j, i].Value.ToString());                                                                    }                                else                                {                                    string str = dgv[j, i].Value.ToString();                                    if (str == "True")                                    {                                        str = "是";                                    }                                    else if(str =="False")                                    {                                        str = "否";                                    }                                    cells.Add(i + 3, k, str);                                }                            }                            k++;                        }                    }                    xls.Save(true);//保存                    MessageBox.Show("Excel文件导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                }            }            catch (Exception ce)            {                MessageBox.Show(ce.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);            }        } 


[解决办法]
Swap<T> (ref T a,ref T b)
{
..
}
[解决办法]

C# code
#region 把指定图片转换为byte        /// <summary>        /// 把指定图片转换为byte        /// </summary>        /// <param name="path">图形路径</param>        /// <returns></returns>        public static byte[] GetPhoto(string path)        {            string str = path;            byte[] photo = new byte[0];            if (File.Exists(path))            {                FileStream file = new FileStream(str, FileMode.Open, FileAccess.Read);                photo = new byte[file.Length];                file.Read(photo, 0, photo.Length);                file.Close();            }            return photo;        }        #endregion
[解决办法]

新年快樂!!!
[解决办法]
百年一遇的好贴,收藏之,哈哈。

PS:最近论坛结贴率低得吓人,哥每天回数十帖子,结贴率不足2成。
[解决办法]
探讨

百年一遇的好贴,收藏之,哈哈。

PS:最近论坛结贴率低得吓人,哥每天回数十帖子,结贴率不足2成。

[解决办法]
新年快乐!
[解决办法]
改个扩展方法
C# code
public static class FileInfoExtension {        public static System.Text.Encoding GetEncoding(this FileInfo fi) {            /*byte[] Unicode=new byte[]{0xFF,0xFE};              byte[] UnicodeBIG=new byte[]{0xFE,0xFF};              byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/            BinaryReader r = new BinaryReader(fi.OpenRead(), System.Text.Encoding.Default);            byte[] ss = r.ReadBytes(4);            r.Close();            //编码类型 Coding=编码类型.ASCII;               if (ss[0] <= 0xEF) {                if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF) {                    return System.Text.Encoding.UTF8;                }                else if (ss[0] == 0xFE && ss[1] == 0xFF) {                    return System.Text.Encoding.BigEndianUnicode;                }                else if (ss[0] == 0xFF && ss[1] == 0xFE) {                    return System.Text.Encoding.Unicode;                }                else {                    return System.Text.Encoding.Default;                }            }            else {                return System.Text.Encoding.Default;            }        }    }
[解决办法]
好人!!!!!!!!!!!!!
[解决办法]
C# code
/// <summary>        /// 判断集合字符串是否包含某元素        /// </summary>        /// <param name="strSource">集合字符串</param>        /// <param name="strSplit">分隔符号</param>        /// <param name="strElement">元素字符串</param>        /// <returns></returns>        public static bool ContainElement(this string strSource, string strSplit, string strElement) {            if (string.IsNullOrEmpty(strSource) || string.IsNullOrEmpty(strElement) || strElement.Length > strSource.Length) {                return false;            }            return strSource.Split(new string[] { strSplit }, StringSplitOptions.RemoveEmptyEntries).Contains(strElement);        }
[解决办法]
接分,庆新年
------解决方案--------------------


好贴,留名,以备后用
有没有udp穿越nat的。来个研究下,最后自己写的能用的
[解决办法]
新年快乐~
[解决办法]
接分
[解决办法]
童鞋们新年快乐~~~
[解决办法]

[解决办法]
namespace EncryptDLL
{
#region 非对称加密类
/// <summary>
/// 非对称加密类
/// </summary>
public static class AsymmetricEncrytClass
{
#region 自动生成公钥、私钥方法
/// <summary>
/// 自动生成非对称公钥、私钥
/// </summary>
/// <param name="publicKey">返回的公钥</param>
/// <param name="privateKey">返回的私钥</param>
public static void GenerateKey(out string publicKey, out string privateKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
publicKey = rsa.ToXmlString(false);
privateKey = rsa.ToXmlString(true);
}

#endregion
#region 非对称加密代码
/// <summary>
/// 非对称加密方法
/// </summary>
/// <param name="strMsg">要加密的数据</param>
/// <param name="strPublicKey">加密的公钥</param>
/// <returns>返回加密后的byte[]数据</returns>
public static byte[] AsymmetricEncryptRSAFunction(this string strMsg,string strPublicKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPublicKey);
byte[] buffers = Encoding.UTF8.GetBytes(strMsg);
byte[] encryBuffer;
try
{
encryBuffer = rsa.Encrypt(buffers, false);
}
catch 
{
return null;
}
return encryBuffer;
}
#endregion
#region 非对称解密代码
/// <summary>
/// 非对称解密方法
/// </summary>
/// <param name="byteMsg">需要解密的byte[]类型数据</param>
/// <param name="strPrivateKey">解密的私钥</param>
/// <returns>解密后的数据string类型</returns>
public static string AsymmetricDecryptRSAFunction(this byte[] byteMsg,string strPrivateKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPrivateKey);
byte[] decryptBuffers;
try
{
decryptBuffers = rsa.Decrypt(byteMsg, false);
}
catch(Exception e)
{
return e.Message;
}
return Encoding.UTF8.GetString(decryptBuffers);
}
#endregion
}
#endregion
}
[解决办法]
收藏.
[解决办法]

C# code
namespace EncryptDLL{    #region 对称加密类    /// <summary>    /// 对称加密解密类    /// </summary>    public static class SymmetricEncryptClass    {        #region 对称加密代码        /// <summary>        /// 对称加密方法        /// </summary>        /// <param name="strMsg">要加密的数据</param>        /// <param name="key">加密Key</param>        /// <param name="IV">加密向量</param>        /// <returns>返回加密后的数据,类型byte[]</returns>        public static byte[] SymmetricEncrptFunction(this string strMsg, string key, string IV)        {            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();            SHA1 sha1 = new SHA1CryptoServiceProvider();            //初始密钥的设定            string strNamePlusBirthday = key + IV;            string strKey = new string(strNamePlusBirthday.Reverse().ToArray());            if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length)            {                tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length));            }            else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length)            {                tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' '));            }            //初始向量的设定            if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length)            {                tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length));            }            else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length)            {                tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' '));            }            byte[] encryptBuffer = Encoding.Default.GetBytes(strMsg);            MemoryStream streamMemory = new MemoryStream();            CryptoStream cryStream = null;//加密流            byte[] readBuffer;//用来接受加密数据            try            {                cryStream = new CryptoStream(streamMemory, new TripleDESCryptoServiceProvider().CreateEncryptor(tdes.Key, tdes.IV), CryptoStreamMode.Write);                cryStream.Write(encryptBuffer, 0, encryptBuffer.Length);                cryStream.FlushFinalBlock();            }            catch            {                return null;            }            finally            {                readBuffer = streamMemory.ToArray();                cryStream.Close();                streamMemory.Close();            }            return readBuffer;        }        #endregion        #region 对称解密代码        /// <summary>        /// 对称解密方法        /// </summary>        /// <param name="bufMsg">需要解密的数据</param>        /// <param name="key">解密Key</param>        /// <param name="IV">解密向量</param>        /// <returns>解密后的数据</returns>        public static string SymmetricDecryptionFunction(this byte[] bufMsg, string key, string IV)        {            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();            SHA1 sha1 = new SHA1CryptoServiceProvider();            //初始密钥的设定            string strNamePlusBirthday = key + IV;            string strKey = new string(strNamePlusBirthday.Reverse().ToArray());            if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length)            {                tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length));            }            else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length)            {                tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' '));            }            //初始向量的设定            if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length)            {                tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length));            }            else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length)            {                tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' '));            }            byte[] readBuffer = bufMsg;            MemoryStream streamRead = new MemoryStream(readBuffer);            CryptoStream deCryStream = null;            byte[] bufferReader;            try            {                deCryStream = new CryptoStream(streamRead, new TripleDESCryptoServiceProvider().CreateDecryptor(tdes.Key, tdes.IV), CryptoStreamMode.Read);                bufferReader = new byte[readBuffer.Length];                deCryStream.Read(bufferReader, 0, bufferReader.Length);            }            finally            {                deCryStream.Close();                streamRead.Close();            }            string deCryString = Encoding.Default.GetString(bufferReader);            return deCryString;        }        #endregion    }    #endregion} 


[解决办法]

C# code
     /// <summary>        /// 判断一个字符串内有多少个数字和字母        /// </summary>        /// <param name="ss">要判断的字符串</param>        private void ShowNumberAndCharCount(string ss)        {                        int numCount = 0;            int charCount = 0;            foreach (char c in ss)            {                int value = (int)c;                if (c >= 48 && c <= 57)                {                    numCount += 1;                }                if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122))                {                    charCount += 1;                }            }            MessageBox.Show("数字个数:" + numCount.ToString() + ";字母个数:" + charCount.ToString());        }
[解决办法]
自己写的一个加密的类中的两种加密的方式,非对称和对称加密,互相分享,Happy New Year
[解决办法]
这个贴要收藏,谢楼主,顺便祝各位新年快乐!!
[解决办法]

使用的Java数据库连接类
Java code
package y2ssh.zhangcuishan.dao.jdbcimpl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public abstract class BaseJdbcDAO {        private String dbUser = "sa";    private String dbPwd = "pwd";    private String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";    private String url = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=epai";    protected Connection conn = null;    protected Statement stmt = null;    protected PreparedStatement pstmt = null;    protected ResultSet rs = null;    private Connection getConn() {        Connection conn = null;        try {            Class.forName(driver);            conn = DriverManager                    .getConnection(                            url,                            dbUser, dbPwd);        } catch (Exception e) {            e.printStackTrace();        }        return conn;    }        protected void openConn() {        this.conn = getConn();    }    protected void closeAll() {        if (rs != null) {            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (stmt != null) {            try {                stmt.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (pstmt != null) {            try {                pstmt.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (conn != null) {            try {                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }    }
[解决办法]
哈哈,不错,存书签
[解决办法]
happy new year
[解决办法]
CSDN的同学们新年快乐
[解决办法]
好,
大家新年快乐,
再接再厉
[解决办法]

[解决办法]
good~~~~~
------解决方案--------------------


MessageBox.Show("新年快乐!");
[解决办法]
MessageBox.Show("新年快乐!");

[解决办法]
这些 应该都是 长年积累下来的吧 的确都是精华 啊
[解决办法]
不错,值得学习一下
[解决办法]
用了张 查到的图 可干死我的cpu了。。。
[解决办法]

[解决办法]
新年大家都快乐哈。
[解决办法]
happy new year!!!
[解决办法]
元旦快乐。
[解决办法]
元旦快乐。
[解决办法]
新年快乐,学习
[解决办法]
happy new year
[解决办法]
happy new year
[解决办法]
不错啊,正好可以学习学习啊!
[解决办法]
新年快乐!!!!!!!
[解决办法]
新年快乐,学习了
[解决办法]
新年好!!!
[解决办法]
给分 我喜欢 谢了收藏
[解决办法]
不错,很喜欢
[解决办法]
新年快乐····
[解决办法]
弱弱的问下,啥时候我的等级能变成两个三角?
元旦快乐!
[解决办法]
确实好贴
[解决办法]
元旦快乐!
[解决办法]
元旦快乐, 标记, 留用。
[解决办法]
新年快乐!!~~~~~~~~~~
 


学习了。。。。。
[解决办法]
在编程上,我还称不上是个菜鸟,学了三年啥都不会,代码都看不懂,真令人惭愧。
[解决办法]
学习了,新年快乐
[解决办法]
祝大家在新的一年里心想事成!
[解决办法]
分呢????
[解决办法]

探讨

不借助第三变量将两个变量值互换
方法一:
a=a-b;
b=a+b;
a=b-a;

方法二:
a ^= b;
b ^= a;
a ^= b;

[解决办法]
C# code
MessageBox.Show("新年快乐!");
[解决办法]

JScript code
//图片加载并按比例缩小到合适大小//<img src=""  width="80" onload="DownImage(this,80,0,0);">function DownImageWidth(ImgD,MaxWidth,alignX,alignY){    alignX=alignX||1;    alignY=alignY||1;    var image=new Image();    image.src=ImgD.src;    if(image.width>0 && image.height>0)    {        var rate = MaxWidth/image.width;        var wid=0;        var hid=0;        if(rate <= 1)        {            wid=ImgD.width=image.width*rate;            hid=ImgD.height=image.height*rate;        }        else        {            wid=ImgD.width=image.width;            hid=ImgD.height=image.height;        }    }}//......................................................................................
[解决办法]
JScript code
//该函数返回ajax需要的关键对象:xmlhttprequestfunction getTransport(){    var versions=[        function(){            return new XMLHttpRequest();        },        function(){            return new ActiveXObject('Microsoft.XMLHTTP');        }    ];    var request;    for(var i=0;i<versions.length;i++){        var lambda=versions[i];        try{            request=lambda();        }        catch(e){}          }    return request;}function ajaxRequest(url,options){    var request=getTransport();//创建ajax的关键对象xmlhttprequest    if(typeof(request)=='undefined'){//判断创建是否成功        throw new Error('你的浏览器不支持xmlhttprequest');        return ;    }    var url=url;//获取请求地址        //获取请求方式,如果为获取到,返回默认值POST    var method=(options.method||'POST').toUpperCase();    if(method!='GET'&&method!='POST'){        method='POST';    }        //获取参数    var parameters=options.parameters||null;    //获取请求头信息    var headers=options.headers||{};    //创建处理事件函数    //加载,完成,成功,失败    var onLoadingEventHandler=options.onLoading||function(){};    var onCompleteEventHandler=options.onComplete||function(){};    var onSuccessEventHandler=options.onSuccess||function(){};    var onFailureEventHandler=options.onFailure||function(){};        //根据url和参数,把地址拼接完整,并且清空parameters对象    if(method=='GET'&&parameters!=null){        if(url.indexOf('?')>-1){            url+='&'+parameters;        }        else{            url+='?'+parameters;        }        parameters=null;            }    //初始化请求        request.open(method,url,true);        //设置请求头    request.setRequestHeader('contentType','application/x-www-form-rulencoded');    for(var name in headers){        request.setRequestHeader(name ,headers[name]);    }        //设置请求状态    request.onreadystatechange=function(){        if(request.readyState==1){            onLoadingEventHandler(request.readyState);//状态值为1,说明正在加载        }        if(request.readyState==4){            onCompleteEventHandler();//状态值为4,说明加载完成            if(request.status&&request.status>=200&&request.status<300){                onSuccessEventHandler(request);//返回值在200到300之间,说明加载成功            }            else{                onFailureEventHandler();//否则加载失败              }        }    }    request.send(parameters);//发送请求}
[解决办法]
she stared at me with a blank expression on her face!
[解决办法]
探讨
引用萧伯纳一段话:“倘若你有一个苹果,我也有一个苹果,而我们彼此交换这些苹
果,那么你和我仍然是各有一个苹果。但是,倘若你有一种思想,我也有一种思想,而
我们彼此交换这些思想,那么,我们每人将有两种思想。”

[解决办法]
分享快乐!

[解决办法]
新年快乐~
[解决办法]
内容存入剪贴板

------解决方案--------------------


强插100楼

热点排行