<?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/node_Jsonp/</link>
<title><![CDATA[NodeJs JSONP数据接口定义]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[NodeJs平台]]></category>
<pubDate>Tue, 06 Sep 2016 10:09:23 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/node_Jsonp/</guid> 
<description>
<![CDATA[ 
	<div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">var</span><span> http = require(</span><span class="string">'http'</span><span>);&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> urllib = require(</span><span class="string">'url'</span><span>);&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span><span class="keyword">var</span><span> port = 10011;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> data = &#123;</span><span class="string">'name'</span><span>: </span><span class="string">'jifeng'</span><span>, </span><span class="string">'company'</span><span>: </span><span class="string">'taobao'</span><span>&#125;;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>http.createServer(<span class="keyword">function</span><span>(req, res)&#123;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;<span class="keyword">var</span><span> params = urllib.parse(req.url, </span><span class="keyword">true</span><span>);&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;console.log(params);&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;<span class="keyword">if</span><span> (params.query &amp;&amp; params.query.callback) &#123;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//console.log(params.query.callback);&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> str =&nbsp;&nbsp;params.query.callback + </span><span class="string">'('</span><span> + JSON.stringify(data) + </span><span class="string">')'</span><span>;</span><span class="comment">//jsonp&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;res.end(str);&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&#125; <span class="keyword">else</span><span> &#123;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;res.end(JSON.stringify(data));<span class="comment">//普通的json&nbsp;&nbsp;</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&#125;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></li><li class="alt"><span>&#125;).listen(port, <span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;console.log(<span class="string">'server is listening on port '</span><span> + port);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;)&nbsp;&nbsp;&nbsp;&nbsp;</span></li></ol></div><p>自建Node路由Jsonp接口访问地址：<a href="http://liuxinxiu.com:3000/jsonp?Jsoncallback=2016&amp;&amp;name=liuxinxiu" target="_blank">http://liuxinxiu.com:3000/jsonp?Jsoncallback=2016&amp;&amp;name=liuxinxiu</a></p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> jsonp()&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.exec=</span><span class="keyword">function</span><span>(route,req,res)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">var</span><span> data1=&#123;key:</span><span class="string">'value'</span><span>,hello:</span><span class="string">'world'</span><span>,name:</span><span class="string">'刘新修'</span><span>&#125;;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">var</span><span> data2=&#123;</span><span class="string">'name'</span><span>:</span><span class="string">'wangjiang'</span><span>,</span><span class="string">'company'</span><span>:</span><span class="string">'taobao'</span><span>&#125;;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(req+<span class="string">'---'</span><span>+route)&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res.statusCode=200;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">//res.setHeader('content-type','application/json;charset=utf-8');</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">//res.setHeader('Content-Type','text/html');</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">//req.write(data);</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">//req.end();</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">var</span><span> params=url.parse(req.url,</span><span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(params);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">if</span><span>(params.query&amp;&para;ms.query.Jsoncallback)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; console.log(params.query.Jsoncallback);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">var</span><span> str=params.query.Jsoncallback+</span><span class="string">'('</span><span>+JSON.stringify(data1)+</span><span class="string">')'</span><span>;</span><span class="comment">//jsonp</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res.end(str);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="keyword">else</span><span>&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res.writeHead(200,&#123;<span class="string">'Content-Type'</span><span>:</span><span class="string">'application/json'</span><span>&#125;);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res.end(JSON.stringify(data1));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//普通的json</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp; &#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li><li><span>module.exports=<span class="keyword">new</span><span> jsonp();&nbsp;&nbsp;</span></span></li></ol></div><p>自建Node路由Jsonp接口访问地址：<a href="http://liuxinxiu.com:3000/Jsoncallback?Jsoncallback=1&amp;name=Jack" target="_blank">http://liuxinxiu.com:3000/Jsoncallback?Jsoncallback=1&amp;name=Jack</a></p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">function</span><span>&nbsp;jsoncallback()&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.exec=</span><span class="keyword">function</span><span>(route,req,res)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/********&nbsp;处理请求判断用作JSONP&nbsp;********/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;params=url.parse(req.url,</span><span class="keyword">true</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**********&nbsp;造数据要Obj不要String&nbsp;**********/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;str2=&#123;dataList:[&#123;name:</span><span class="string">&quot;Jack&quot;</span><span>,age:28,sex:1&#125;,&#123;name:</span><span class="string">'Tony'</span><span>,age:30,sex:0&#125;]&#125;;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/**********&nbsp;映射数据源无为undefined&nbsp;**********/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;output=2016+</span><span class="string">'('</span><span>+JSON.stringify(str2)+</span><span class="string">')'</span><span>;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;result=params.query.Jsoncallback+</span><span class="string">'('</span><span>+JSON.stringify(str2)+</span><span class="string">')'</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*************&nbsp;定义头部信息及编码规范&nbsp;*******************/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.writeHead(200,&#123;<span class="string">'content-Type'</span><span>:</span><span class="string">'application/json;charset=utf-8'</span><span>&#125;);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/*************&nbsp;判断出来相应返回的结果&nbsp;********************/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(params.query&amp;&para;ms.query.Jsoncallback)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.write(result);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.end();&nbsp;&nbsp;</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">else</span><span>&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.write(output);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res.end();&nbsp;&nbsp;</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;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;;&nbsp;&nbsp;</span></li><li><span>module.exports=<span class="keyword">new</span><span>&nbsp;jsoncallback();&nbsp;&nbsp;</span></span></li></ol></div><br/>Tags - <a href="http://liuxinxiu.com:80/tags/jsonp/" rel="tag">jsonp</a> , <a href="http://liuxinxiu.com:80/tags/node/" rel="tag">node</a>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/node_Jsonp/#blogcomment</link>
<title><![CDATA[[评论] NodeJs JSONP数据接口定义]]></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/node_Jsonp/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>