<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/s//</link>
<title><![CDATA[原生JS实现AJAX、JSONP及DOM加载完成事件]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Fri, 19 Jun 2015 08:04:26 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>ajax(&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;url:<span class="string">&quot;http://192.168.66.90:8080/php/test5.php&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;type:<span class="string">&quot;POST&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;data:&#123;GUID:<span class="string">&quot;288350897&quot;</span><span>,subFlag:</span><span class="string">&quot;1&quot;</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;dataType:<span class="string">&quot;jsonp&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;callback:<span class="string">&quot;Jsoncallback&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;success:<span class="keyword">function</span><span>(data)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(data.sex==0)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> userSex=</span><span class="string">&quot;帅哥&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(data.sex==1)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> userSex=</span><span class="string">&quot;美女&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(data.</span><span class="keyword">switch</span><span>==0)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;.Mbox .mailInfo .text_&quot;</span><span>).html(</span><span class="string">'&lt;span style=&quot;color:#fbff83&quot;&gt;'</span><span>+data.mailInfo+</span><span class="string">'&lt;/span&gt;封'</span><span>+userSex+</span><span class="string">'来信'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;.Mbox&quot;</span><span>).addClass(</span><span class="string">&quot;ty&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mbox.addEventListener(<span class="string">&quot;webkitAnimationEnd&quot;</span><span>,</span><span class="keyword">function</span><span>()&#123; </span><span class="comment">//动画结束时事件</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> timer=setInterval(</span><span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(mbox.offsetTop==-60)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mbox.className=<span class="string">'Mbox tyy'</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clearInterval(timer)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;,1000)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;,<span class="keyword">false</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//alert(data.switch)</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&#125;,&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;fail:<span class="keyword">function</span><span>(status)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">// 此处放失败后执行的代码</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/***********************************</span> </span></li><li class="alt"><span><span class="comment">公共ajax方法支持跨越请求</span> </span></li><li><span><span class="comment">************************************/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> ajax(options) &#123;&nbsp;&nbsp;</span></span></li><li><span>options = options&#124;&#124;&#123;&#125;;&nbsp;&nbsp;</span></li><li class="alt"><span><span class="keyword">if</span><span> (!options.url&#124;&#124;!options.callback)&#123;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">throw</span><span> </span><span class="keyword">new</span><span> Error(</span><span class="string">&quot;参数不合法&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">//创建 script 标签并加入到页面中</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> callbackName=(</span><span class="string">'jsonp_'</span><span>+Math.random()).replace(</span><span class="string">&quot;.&quot;</span><span>,</span><span class="string">&quot;&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> oHead=document.getElementsByTagName(</span><span class="string">'head'</span><span>)[0];&nbsp;&nbsp;</span></span></li><li><span>options.data[options.callback]=callbackName;&nbsp;&nbsp;</span></li><li class="alt"><span><span class="keyword">var</span><span> params=formatParams(options.data);&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> oS=document.createElement(</span><span class="string">'script'</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>oHead.appendChild(oS);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">//创建jsonp回调函数</span><span>&nbsp;&nbsp;</span></span></li><li><span>window[callbackName]=<span class="keyword">function</span><span>(json)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>oHead.removeChild(oS);&nbsp;&nbsp;</span></li><li><span>clearTimeout(oS.timer);&nbsp;&nbsp;</span></li><li class="alt"><span>window[callbackName]=<span class="keyword">null</span><span>;&nbsp;&nbsp;</span></span></li><li><span>options.success&amp;&amp;options.success(json);&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">//发送请求</span><span>&nbsp;&nbsp;</span></span></li><li><span>oS.src=options.url+<span class="string">'?'</span><span>+params;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">//超时处理</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">if</span><span>(options.time)&#123;&nbsp;&nbsp;</span></span></li><li><span>oS.timer=setTimeout(<span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>window[callbackName]=<span class="keyword">null</span><span>;&nbsp;&nbsp;</span></span></li><li><span>oHead.removeChild(oS);&nbsp;&nbsp;</span></li><li class="alt"><span>options.fail&amp;&amp;options.fail(&#123;message:<span class="string">&quot;超时&quot;</span><span>&#125;);&nbsp;&nbsp;</span></span></li><li><span>&#125;,time);&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>&#125;;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">//格式化参数</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> formatParams(data)&#123;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> arr=[];&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">for</span><span>(</span><span class="keyword">var</span><span> name </span><span class="keyword">in</span><span> data)&#123;&nbsp;&nbsp;</span></span></li><li><span>arr.push(encodeURIComponent(name)+<span class="string">&quot;=&quot;</span><span>+encodeURIComponent(data[name]));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span><span class="keyword">return</span><span> arr.join(</span><span class="string">'&amp;'</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li></ol></div><p>&nbsp;</p><br/>Tags - <a href="http://liuxinxiu.com:80/tags/ajax/" rel="tag">ajax</a> , <a href="http://liuxinxiu.com:80/tags/jsonp/" rel="tag">jsonp</a>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/s//#blogcomment</link>
<title><![CDATA[[评论] 原生JS实现AJAX、JSONP及DOM加载完成事件]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/s//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>