<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Just is here--恰恰在这里 &#187; Ajax</title>
	<atom:link href="http://ishere.cn/tag/ajax-keyboards-joy-2/feed" rel="self" type="application/rss+xml" />
	<link>http://ishere.cn</link>
	<description>Jena&#039;s blog</description>
	<lastBuildDate>Sat, 14 Jan 2012 07:51:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Ajax and JSON</title>
		<link>http://ishere.cn/2008/07/11/ajax-and-json.html</link>
		<comments>http://ishere.cn/2008/07/11/ajax-and-json.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 14:20:32 +0000</pubDate>
		<dc:creator>jena</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[protoytpe]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.aobodo.com/?p=172</guid>
		<description><![CDATA[关于JSON，是很久以前就听说了，但是一直没有真正的去研究，去使用。 关于AJAX，也是很久以前就听说了，而且一直也在研究，在使用。 关于AJAX　and　JSON，是刚刚开始研究和使用。 JSON，JavaScript Object Notation, 我理解为Javascript 对象标记，可能不太准确，但是这样有助自己理解和使用。高人们都说JSON使用起来要比XML更灵活，更方便，是吗，带着这样的疑问，自己写了个小例子。 数据库里有４W条记录，通过ASP读取出来，再用JSON的ASP类生成JSON格式数据： json.asp: Server.ScriptTimeOut  = 500000 Response.Buffer = True Response.ContentType = “application/json” Dim Conn Set Conn=Server.CreateObject(“Adodb.connection”) Conn.Open “Provider = Microsoft.Jet.OLEDB.4.0; Data Source =D:TempIPCountry.mdb” QueryToJSON(Conn, “SELECT Top 1500 country, countrylong FROM ip2country”).Flush Response.ContentType = &#8230; <a href="http://ishere.cn/2008/07/11/ajax-and-json.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>关于JSON，是很久以前就听说了，但是一直没有真正的去研究，去使用。</p>
<p>关于AJAX，也是很久以前就听说了，而且一直也在研究，在使用。</p>
<p>关于AJAX　and　JSON，是刚刚开始研究和使用。</p>
<p>JSON，JavaScript Object Notation, 我理解为Javascript 对象标记，可能不太准确，但是这样有助自己理解和使用。高人们都说JSON使用起来要比XML更灵活，更方便，是吗，带着这样的疑问，自己写了个小例子。</p>
<p><span id="more-367"></span></p>
<p>数据库里有４W条记录，通过ASP读取出来，再用JSON的ASP类生成JSON格式数据：</p>
<p>json.asp:</p>
<blockquote><p>Server.ScriptTimeOut  = 500000<br />
Response.Buffer = True<br />
Response.ContentType = “application/json”</p>
<p>Dim Conn<br />
Set Conn=Server.CreateObject(“Adodb.connection”)<br />
Conn.Open “Provider = Microsoft.Jet.OLEDB.4.0; Data Source =D:TempIPCountry.mdb”</p>
<p>QueryToJSON(Conn, “SELECT Top 1500 country, countrylong FROM ip2country”).Flush</p>
</blockquote>
<p>Response.ContentType = “application/json”这句话指定了内容输出类型为JSON，这样，当AJAX获取以后，就可以直接作为对象来对待，进而直接使用，不用再eval了。</p>
<p>json.html</p>
<blockquote><p>&lt;div id=”outer”  style=” position:relative;line-height:22px; width:auto; padding:20px; height:300px; border:1px solid #006699; overflow:auto;”&gt;&lt;/div&gt;<br />
&lt;script&gt;<br />
getJson = function(){<br />
new Element.update(&#8216;outer&#8217;,'Init&#8230;&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);<br />
new Ajax.Request(&#8216;json.asp&#8217;,{<br />
onCreate:function(){new Insertion.Bottom(&#8216;outer&#8217;,'Create:&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);},<br />
onLoading:function(){new Insertion.Bottom(&#8216;outer&#8217;,'Loading:&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);},<br />
onLoaded:function(){new Insertion.Bottom(&#8216;outer&#8217;,'Loaded:&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);},<br />
onSuccess:function(trans){<br />
new Insertion.Bottom(&#8216;outer&#8217;,'Start Insert:&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);<br />
var json = trans.responseJSON;<br />
for(var i=0;i&lt;json.length;i++){<br />
new Insertion.Bottom(&#8216;outer&#8217;,'&lt;div style=”border-bottom:1px dashed #cccccc;”&gt;&lt;img src=”http://image.test.com/images/flags/&#8217;+json[i].country+&#8217;.png”&gt; &#8216;+ json[i].countrylong +&#8217;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&#8217;);<br />
$(&#8216;outer&#8217;).scrollTop = $(&#8216;outer&#8217;).scrollHeight;<br />
};<br />
new Insertion.Bottom(&#8216;outer&#8217;,'End Insert:&#8217;+ new Date().toJSON() + &#8216;&lt;br&gt;&#8217;);<br />
$(&#8216;outer&#8217;).scrollTop = $(&#8216;outer&#8217;).scrollHeight;<br />
}<br />
});<br />
}<br />
&lt;/script&gt;<br />
&lt;button onclick=”getJson()”&gt;Get Json&lt;/button&gt;</p>
</blockquote>
<p>JS的类库我使用的是prototype的，里面已经封装了对JSON对象的处理方法，所以，只用responseJSON这一方法就可以获得返回来的JSON对象。接下来对获取的数据进行解析，这里的解析也没有用JSON官方的类包，只是用JS本身的规范对已确定的JSON数据格式进行处理，把内容指定到该指定的地方，就可以了，很简单。</p>
<p>在执行效率上，比使用XML确实快了一些，因为对数据的处理不再需要DOM对象，而是使用JS本身规范就可以了，这样一来就省了一部分时间，整体感觉上还是不错。</p>
<p>只是一个简单的测试，对JSON的理解可能也太过肤浅，以后随着项目的需要，肯定还会接触，还会更深的去理解和使用它，另外，在网上看到有评论说JSON可能会取代XML，让AJAX变成AJAJ，呵呵，或许会有这一天。</p>
]]></content:encoded>
			<wfw:commentRss>http://ishere.cn/2008/07/11/ajax-and-json.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MaiMaiJ Live Messenger[Beta1.0]</title>
		<link>http://ishere.cn/2008/06/26/maimaij-live-messengerbeta10.html</link>
		<comments>http://ishere.cn/2008/06/26/maimaij-live-messengerbeta10.html#comments</comments>
		<pubDate>Thu, 26 Jun 2008 16:08:12 +0000</pubDate>
		<dc:creator>jena</dc:creator>
				<category><![CDATA[买卖街]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[maimaij]]></category>
		<category><![CDATA[MaiMaiJ Live Messenger]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.aobodo.com/?p=165</guid>
		<description><![CDATA[经过几天的努力，MaiMaiJ Live® Messenger已经初具模型了，运用创新的Ajax和灵活的XML，实现WEB方式的及时互动交流！ 发几张图上来，晒晒先！]]></description>
			<content:encoded><![CDATA[<p>经过几天的努力，<strong>MaiMaiJ Live<sup>®</sup> Messenger</strong>已经初具模型了，运用创新的Ajax和灵活的XML，实现WEB方式的及时互动交流！</p>
<p>发几张图上来，晒晒先！</p>
<p><a href="http://www.aobodo.com/wp-content/uploads/2008/06/2.jpg"><img class="alignnone size-medium wp-image-168" title="Login messenger" src="http://www.aobodo.com/wp-content/uploads/2008/06/3.jpg" alt="" width="129" height="240" /><img class="alignnone size-medium wp-image-166" title="Service List" src="http://www.aobodo.com/wp-content/uploads/2008/06/1.jpg" alt="" width="126" height="242" /><img class="alignnone size-medium wp-image-167" title="Chat with service" src="http://www.aobodo.com/wp-content/uploads/2008/06/2.jpg" alt="" width="198" height="243" /></a></p>
<p><a href="http://www.aobodo.com/wp-content/uploads/2008/06/5.jpg"><img class="alignnone size-medium wp-image-169" title="Start chat" src="http://www.aobodo.com/wp-content/uploads/2008/06/4-300x297.jpg" alt="" width="300" height="297" /><img class="alignnone size-medium wp-image-170" title="Service has new msg" src="http://www.aobodo.com/wp-content/uploads/2008/06/5.jpg" alt="" width="125" height="242" /></a></p>
<p><a href="http://www.aobodo.com/wp-content/uploads/2008/06/6.jpg"><img class="alignnone size-medium wp-image-171" title="Min MsgBox" src="http://www.aobodo.com/wp-content/uploads/2008/06/6.jpg" alt="" width="176" height="35" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ishere.cn/2008/06/26/maimaij-live-messengerbeta10.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>成功实现ajax,xmlhttp跨域访问</title>
		<link>http://ishere.cn/2007/01/15/ajax-xmlhttp.html</link>
		<comments>http://ishere.cn/2007/01/15/ajax-xmlhttp.html#comments</comments>
		<pubDate>Mon, 15 Jan 2007 02:11:23 +0000</pubDate>
		<dc:creator>jena</dc:creator>
				<category><![CDATA[keyboard's joy]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[xmlhttp]]></category>

		<guid isPermaLink="false">http://news.aobodo.com/?p=105</guid>
		<description><![CDATA[其实这篇文章是那篇YAHOO!天气预报的后续,因为天气预报是利用XMLHTTP实现的,而XMLHTTP存在跨域访问的问题,在还没本篇文章之前,我直接通过静态的javascript来获取数据,在本机测试是正常的,但是放到服务器上就不行了,提示没有访问权限,百度了一下,原来已经有好多人遇到了这问题&#8212;&#8211;XMLHTTP跨域访问.不过以前我用ASP在服务器上是可以实现数据获取的,于是我就想是不是可以先利用ASP获取到数据,然后再用javascript获取ASP收到的数据呢,我试验了一下,结果是可行的. !~ 好高兴,这个天气预报终于是圆满的解决了. 附代码: weather.asp页 &#60;% p = “http://weather.cn.yahoo.com/weather.html?city=%E7%83%9F%E5%8F%B0&#8243; Response.BinaryWrite ZQcnGet(p) Response.Flush Function ZQcnGet(url) Set Retrieval = CreateObject(“Microsoft.XMLHTTP”) With Retrieval .Open “Get”, url, False, “”, “” .Send ZQcnGet = .ResponseBody End With Set Retrieval = Nothing End Function %&#62; weather.js页面 &#8230; <a href="http://ishere.cn/2007/01/15/ajax-xmlhttp.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>其实这篇文章是那篇YAHOO!天气预报的后续,因为天气预报是利用XMLHTTP实现的,而XMLHTTP存在跨域访问的问题,在还没本篇文章之前,我直接通过静态的javascript来获取数据,在本机测试是正常的,但是放到服务器上就不行了,提示没有访问权限,百度了一下,原来已经有好多人遇到了这问题&#8212;&#8211;XMLHTTP跨域访问.不过以前我用ASP在服务器上是可以实现数据获取的,于是我就想是不是可以先利用ASP获取到数据,然后再用javascript获取ASP收到的数据呢,我试验了一下,结果是可行的. <img src="http://www.ishere.cn/styles/smilesICON/smiles1/icon_smile.gif" border="0" alt="[smile]" /> !~</p>
<p>好高兴,这个天气预报终于是圆满的解决了.</p>
<p>附代码:<br />
weather.asp页</p>
<div class="code">&lt;%<br />
p = “http://weather.cn.yahoo.com/weather.html?city=%E7%83%9F%E5%8F%B0&#8243;<br />
Response.BinaryWrite ZQcnGet(p)<br />
Response.Flush</p>
<p>Function ZQcnGet(url)<br />
Set Retrieval = CreateObject(“Microsoft.XMLHTTP”)<br />
With Retrieval<br />
.Open “Get”, url, False, “”, “”<br />
.Send<br />
ZQcnGet = .ResponseBody<br />
End With<br />
Set Retrieval = Nothing<br />
End Function<br />
%&gt;</p></div>
<p>weather.js页面</p>
<div class="code">// JavaScript Document<br />
/*<br />
================<br />
Yahoo!天气预报<br />
Jena.want [迦楠]<br />
http://www.ishere.cn [在这里,迦楠的BLOG]<br />
Last Edit:2007.01.15 解决跨域访问的问题.<br />
================<br />
*/<br />
var cDOMtype = ”;<br />
if (document.getElementById)<br />
{<br />
cDOMtype = “std”;<br />
}<br />
else if (document.all)<br />
{<br />
cDOMtype = “ie4&#8243;;<br />
}<br />
else if (document.layers)<br />
{<br />
cDOMtype = “ns4&#8243;;<br />
}</p>
<p>// #############################################<br />
// function to emulate document.getElementById<br />
function _$$(idname){<br />
return fetch_object(idname);<br />
}<br />
function fetch_object(idname)<br />
{<br />
switch (cDOMtype)<br />
{<br />
case “std”:<br />
{<br />
return document.getElementById(idname);<br />
}<br />
break;</p>
<p>case “ie4&#8243;:<br />
{<br />
return document.all[idname];<br />
}<br />
break;</p>
<p>case “ns4&#8243;:<br />
{<br />
return document.layers[idname];<br />
}<br />
break;<br />
}<br />
}</p>
<p>function get_weather(){<br />
if(_$$(&#8216;weatherook2&#8242;)){<br />
_$$(&#8216;weatherook2&#8242;).innerHTML = “&lt;marquee behavior=”slide”&gt;The data is loading&#8230;&lt;/marquee&gt;”;</p>
<p>var xml;<br />
if (window.XMLHttpRequest) {<br />
xml=new XMLHttpRequest();<br />
}else if (window.ActiveXObject){<br />
xml=new ActiveXObject(“Microsoft.XMLHTTP”);<br />
}</p>
<p>xml.onreadystatechange = function(){<br />
if(xml.readyState == 4){<br />
if ( xml.status == 200 || xml.status == 304 ){<br />
_$$(&#8216;weatherook2&#8242;).innerHTML = get_content(xml.responseText,&#8217;&lt;div class=”dt_d”&gt;&#8217;,'&lt;div class=”l2&#8243;&gt;&#8217;);<br />
}<br />
}</p>
<p>}</p>
<p>xml.open(“GET” , uPath + “weather.asp” ,false);<br />
xml.setRequestHeader(“If-Modified-Since”,”Tus, 9 Jan 2007 09:17:54 GMT”);<br />
xml.send(“”);<br />
}else{<br />
alert(&#8216;invalid page id&#8217;);<br />
}<br />
}<br />
function get_content(str,starM1,starM2){<br />
var starP,endP;<br />
if(str){<br />
starP = str.indexOf(starM1);<br />
endP = str.indexOf(starM2)-1;<br />
}<br />
return str.substring(starP,endP);<br />
}</p>
<p>window.onload = get_weather ;</p>
</div>
<p>weather.html页</p>
<div class="code">&lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;<br />
&lt;html xmlns=”http://www.w3.org/1999/xhtml”&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=”Content-Type” content=”text/html; charset=utf-8&#8243; /&gt;<br />
&lt;title&gt;无标题文档&lt;/title&gt;<br />
&lt;link href=”weather.css” rel=”stylesheet” type=”text/css” media=”screen” /&gt;<br />
&lt;script language=”javascript”&gt;<br />
var uPath = ”;<br />
&lt;/script&gt;<br />
&lt;script language=”javascript” src=”weather.js”&gt;&lt;/script&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;<br />
&lt;h3&gt;YAHOO!天气预报&lt;/h3&gt;<br />
&lt;div style=”width:130px”&gt;&lt;div id=”weatherook2&#8243; class=”map_cnt2&#8243;&gt;&lt;/div&gt;&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ishere.cn/2007/01/15/ajax-xmlhttp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

