How do you simulate jQuery $.get()
to load data from a different domain in jsFiddle?
/* This won't work in jsFiddle. */
$.get("http://www.google.com", function(data) { ... } );
As we know, there is limitation:
Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, or protocol.
I solved this by creating a Fiddle in jsFiddle just for testing Ajax loads. It’s some very simple HTML with an image and some copy — you can see it here:
<div class="container">
<img id="picture" src="http://media.smashingmagazine.com/uploads/2012/01/best-of-no-150px.png" />
<p>This post will help you get to know the iOS SDK a little better. It leads you through some choreographed steps of iOS app development, even if you have little or no programming knowledge. It covers some key principles and applies these directly to something useful and relevant: the creation of a simple but functioning portfolio app for the iPhone.</p>
<div style="clear: both;"></div>
</div>
body {
font-family: Arial;
color: #333333;
line-height: 1.4em;
}
img {
margin: 0 0 1em 1em;
padding: 1em;
background: #ffffff;
border: 1px solid #eaeaea;
display: inline-block;
float: right;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
.container {
background: #fafafa;
padding: 1em;
}
Demo on JS Fiddle.
If you use Firebug to click on the “result” frame, you can get the source URL of the iframe. When you copy this source URL into the Fiddle containing your Ajax request, it will work because now it is on the same domain. Here’s a demonstration:
<div class="excontainer">
<button id="loadbasic">basic load</button>
<div id="result"></div>
</div>
body {
font-family: Arial;
}
.excontainer {
padding: 1em;
}
label {
display: block;
width: 100%;
}
p {
padding: .5em;
}
a, a:visited {
color: #2d9afd;
}
.changed {
color: #ff0099;
}
.highlight {
background: #faffda;
}
.entered {
color: #f5560a;
}
.green {
color: #7fbf38;
}
.hellomouse, .clickable, #foo, #event {
cursor: pointer;
}
button {
margin-bottom: 1em;
}
div {
margin: 1em 0;
}
#foo {
display: inline-block;
}
ul {
margin: 1em 0;
}
.form, form, .stuff, .morestuff, stuff3 {
margin: 1em 0;
padding: 1em;
background: #ececec;
}
input {
font-size: 1.1em;
padding: 2px;
}
.placeholder {
color: #ff0099;
font-weight: normal;
}
::-webkit-input-placeholder {
color: #cccccc;
}
:-moz-placeholder {
color: #cccccc;
}
:-ms-input-placeholder {
color: #cccccc;
}
:focus::-webkit-input-placeholder {
color:transparent;
}
.content {
margin-top: 5px;
padding: 1em;
background: #eeeeee;
}
// learn jquery ajax
// http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/
// no need to specify document ready
$(function(){
// don't cache ajax or content won't be fresh
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img src='http://automobiles.honda.com/images/current-offers/small-loading.gif' alt='loading...' />";
// load() functions
var loadUrl = "http://fiddle.jshell.net/deborah/pkmvD/show/";
$("#loadbasic").click(function(){
$("#result").html(ajax_load).load(loadUrl);
});
// end
});
Demo on JS Fiddle.
Check out How can I use the JSFiddle echo feature with JQuery?.
Also check out their API which gives examples to how achieve this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With