<?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/"
	
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>DAN FOLKES &#187; AJAX</title>
	<atom:link href="http://danfolkes.com/index.php/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://danfolkes.com</link>
	<description>programmers blog</description>
	<lastBuildDate>Fri, 03 Feb 2012 15:58:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<atom:link rel="next" href="http://danfolkes.com/index.php/tag/ajax/feed/?page=2" />

		<item>
		<title>Web Service using JSONP from External Domain &#8211; PHP &#8211; JQuery</title>
		<link>http://danfolkes.com/2012/02/03/web-service-using-jsonp-from-external-domain-php-jquery/</link>
		<comments>http://danfolkes.com/2012/02/03/web-service-using-jsonp-from-external-domain-php-jquery/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 15:57:31 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[?callback]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[async]]></category>
		<category><![CDATA[available]]></category>
		<category><![CDATA[callbackName]]></category>
		<category><![CDATA[cross site]]></category>
		<category><![CDATA[cross site script]]></category>
		<category><![CDATA[dataType]]></category>
		<category><![CDATA[dataType: jsonp]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[External]]></category>
		<category><![CDATA[External Domain]]></category>
		<category><![CDATA[getJSON]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery.ajax]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[JSONP]]></category>
		<category><![CDATA[jsonpCallback]]></category>
		<category><![CDATA[onJSONPLoad]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[success]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[Webservice]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://danfolkes.com/?p=1482</guid>
		<description><![CDATA[You may want to look at this previous post where I setup a PHP Webservice that uses JSON PDO – Accessed by JQuery AJAX OK, so this code will use php to generate the JSON code that will get delivered over the internet to the JSONP (JSON Padding) client on an external domain. This allows [...]


Related posts:<ol><li><a href='http://danfolkes.com/2012/01/06/php-webservice-that-uses-json-pdo-accessed-by-jquery-ajax/' rel='bookmark' title='Permanent Link: PHP Webservice that uses JSON PDO &#8211; Accessed by JQuery AJAX'>PHP Webservice that uses JSON PDO &#8211; Accessed by JQuery AJAX</a></li>
<li><a href='http://danfolkes.com/2011/11/07/asp-net-update-panel-javascript-event-jquery-click/' rel='bookmark' title='Permanent Link: ASP.Net Update Panel &#8211; Javascript Event &#8211; jQuery Click'>ASP.Net Update Panel &#8211; Javascript Event &#8211; jQuery Click</a></li>
<li><a href='http://danfolkes.com/2009/10/19/override-the-window-onload-javascript-function/' rel='bookmark' title='Permanent Link: Override the window.onload javascript function'>Override the window.onload javascript function</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>You may want to look at this previous post where I setup a <a href="http://danfolkes.com/2012/01/06/php-webservice-that-uses-json-pdo-accessed-by-jquery-ajax/">PHP Webservice that uses JSON PDO – Accessed by JQuery AJAX</a></p>
<p>OK, so this code will use php to generate the JSON code that will get delivered over the internet to the JSONP (JSON Padding) client on an external domain.  This allows your webservice to be available too whoever wants to call it.</p>
<p>Here is the PHP Code: (Not all of it, but enough to get the idea)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//http://SERVER_domain.com/webservice.php</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> GetTriviaTag<span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$t</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Tag<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$t</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$t</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">triviaid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'triviaid'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$t</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tagid</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tagid'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$t</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> GetWhere<span style="color: #009900;">&#40;</span><span style="color: #000088;">$where</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$retArray</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM trivia_tags WHERE <span style="color: #006699; font-weight: bold;">{$where}</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">pdo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$retArray</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">GetTriviaTag</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$retArray</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot; (1 = 1)&quot;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// THIS WILL SELECT ALL</span>
<span style="color: #000088;">$tarray</span> <span style="color: #339933;">=</span> GetWhere<span style="color: #009900;">&#40;</span><span style="color: #000088;">$where</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//OUTPUT JSON:</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-type: application/json'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'callback'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// &lt;-- THIS IS IMPORTANT FOR EXTERNAL DOMAIN ACCESS!!!</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;(&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tarray</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;)&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>And now, to access it from javascript in an external domain (non &#8211; SERVER_domain.com ):</p>
<p>http://CLIENT_domain.com/Test.html:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>title<span style="color: #339933;">&gt;</span>Test<span style="color: #339933;">&lt;/</span>title<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://code.jquery.com/jquery-latest.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>body<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;triviaQuestions&quot;</span><span style="color: #339933;">&gt;</span> loading<span style="color: #339933;">...</span> <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// THE 'callback=?' in this request is IMPORTANT FOR EXTERNAL DOMAIN ACCESS!!!</span>
				$<span style="color: #339933;">.</span>getJSON<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://SERVER_domain.com/webservice.php&amp;callback=?'</span><span style="color: #339933;">,</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">var</span> items <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">var</span> htmlResult <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
					$<span style="color: #339933;">.</span><span style="color: #990000;">each</span><span style="color: #009900;">&#40;</span>data<span style="color: #339933;">,</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">key</span><span style="color: #339933;">,</span> val<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						htmlResult <span style="color: #339933;">+=</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;Q: &quot;</span><span style="color: #339933;">+</span> val<span style="color: #339933;">.</span>id <span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;, '&quot;</span><span style="color: #339933;">+</span> val<span style="color: #339933;">.</span>question <span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#triviaQuestions'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>html<span style="color: #009900;">&#40;</span>htmlResult<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span>
	<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>



<p>Related posts:<ol><li><a href='http://danfolkes.com/2012/01/06/php-webservice-that-uses-json-pdo-accessed-by-jquery-ajax/' rel='bookmark' title='Permanent Link: PHP Webservice that uses JSON PDO &#8211; Accessed by JQuery AJAX'>PHP Webservice that uses JSON PDO &#8211; Accessed by JQuery AJAX</a></li>
<li><a href='http://danfolkes.com/2011/11/07/asp-net-update-panel-javascript-event-jquery-click/' rel='bookmark' title='Permanent Link: ASP.Net Update Panel &#8211; Javascript Event &#8211; jQuery Click'>ASP.Net Update Panel &#8211; Javascript Event &#8211; jQuery Click</a></li>
<li><a href='http://danfolkes.com/2009/10/19/override-the-window-onload-javascript-function/' rel='bookmark' title='Permanent Link: Override the window.onload javascript function'>Override the window.onload javascript function</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danfolkes.com/2012/02/03/web-service-using-jsonp-from-external-domain-php-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
	</item>
		<item>
		<title>CWS &#8211; Chord Web Service</title>
		<link>http://danfolkes.com/2009/03/31/cws-chord-web-service/</link>
		<comments>http://danfolkes.com/2009/03/31/cws-chord-web-service/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 19:56:20 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Chord]]></category>
		<category><![CDATA[Chords]]></category>
		<category><![CDATA[CWS]]></category>
		<category><![CDATA[deliver]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[guitars]]></category>
		<category><![CDATA[musical]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web Service]]></category>

		<guid isPermaLink="false">http://danfolkes.com/index.php/2009/03/31/cws-chord-web-service/</guid>
		<description><![CDATA[I am creating a web service for musicians that will allow them to reference an abundance of musical references on the fly using AJAX. Firstly, it will deliver chords and fingerings of chords for guitars to the users websites (think Google Maps). My goal is to enhance the web. Here is the site: http://cws.danfolkes.com It&#8217;s [...]


Related posts:<ol><li><a href='http://danfolkes.com/2000/05/06/colbert-report-persian-gulf-secret-code/' rel='bookmark' title='Permanent Link: Colbert Report &#8211; Persian Gulf &#8211; Secret Code'>Colbert Report &#8211; Persian Gulf &#8211; Secret Code</a></li>
<li><a href='http://danfolkes.com/2009/12/15/view-of-my-sites-traffic/' rel='bookmark' title='Permanent Link: View of My Sites Traffic'>View of My Sites Traffic</a></li>
<li><a href='http://danfolkes.com/2000/05/21/datagov-runs-on-drupal/' rel='bookmark' title='Permanent Link: Data.Gov Runs on Drupal'>Data.Gov Runs on Drupal</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://danfolkes.com/wp-content/uploads/2009/03/cwd-chord-web-service.gif"><img src="http://danfolkes.com/wp-content/uploads/2009/03/cwd-chord-web-service-253x300.gif" alt="cwd-chord-web-service" title="cwd-chord-web-service" width="253" height="300" class="alignnone size-medium wp-image-221" align="left" /></a></p>
<p>I am creating a web service for musicians that will allow them to reference an abundance of musical references on the fly using AJAX.</p>
<p>Firstly, it will deliver chords and fingerings of chords for guitars to the users websites (think Google Maps).</p>
<p>My goal is to enhance the web.</p>
<p>Here is the site: <em><strong><a href="http://cws.danfolkes.com" target="_blank">http://cws.danfolkes.com</a></strong></em></p>
<p>It&#8217;s still in development, but it&#8217;s getting close to launch.</p>
<p>Let me know what you think (only if it&#8217;s nice) <img src='http://danfolkes.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://danfolkes.com/2000/05/06/colbert-report-persian-gulf-secret-code/' rel='bookmark' title='Permanent Link: Colbert Report &#8211; Persian Gulf &#8211; Secret Code'>Colbert Report &#8211; Persian Gulf &#8211; Secret Code</a></li>
<li><a href='http://danfolkes.com/2009/12/15/view-of-my-sites-traffic/' rel='bookmark' title='Permanent Link: View of My Sites Traffic'>View of My Sites Traffic</a></li>
<li><a href='http://danfolkes.com/2000/05/21/datagov-runs-on-drupal/' rel='bookmark' title='Permanent Link: Data.Gov Runs on Drupal'>Data.Gov Runs on Drupal</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://danfolkes.com/2009/03/31/cws-chord-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://danfolkes.com/wp-content/uploads/2009/03/cwd-chord-web-service-150x150.gif" />
		<media:content url="http://danfolkes.com/wp-content/uploads/2009/03/cwd-chord-web-service.gif" medium="image">
			<media:title type="html">cwd-chord-web-service</media:title>
			<media:thumbnail url="http://danfolkes.com/wp-content/uploads/2009/03/cwd-chord-web-service-150x150.gif" />
		</media:content>
	</item>
	</channel>
</rss>

