Cacheable JSONP Test
by johannes
JavaScript
/*$.ajax({
url: "http://localhost:9091/data.jsonp#abc=123",
dataType: "jsonp",
jsonp: "foobar",
success: function(d){
console.log("?#data");
console.log(d);
}
});*/
var JSONP = {
callbacks: {},
randomCallbackName: function(){
return "CB" + parseInt(Math.random()*999999, 10);
},
get: function(url, callback){
var callbackName = this.randomCallbackName();
var scriptElement = document.createElement('script');
var src = url + "#callback=JSONP.callbacks." + callbackName;
scriptElement.src = src;
SC.Helper.attachEvent(scriptElement, "load", function(){
document.body.removeChild(scriptElement);
});
SC.Helper.JSONP.callbacks[callbackName] = callback;
document.body.appendChild(scriptElement);
}
};
JSONP.get("http://localhost:9090/data.jsonp", function(){
console.log("hello!");
}