Indeed, the first line of investigation would be to use
CORS. But, as you say, you cannot change the server configuration. One way you can work around this is to use JS scripts and load them dynamically.
Require.js can load AMD modules cross domain. Here's an example:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Data Loading Example</title>
</head>
<body>
<script>
require([irisURL], function(data){
d3.select("body").append("pre")
.text(JSON.stringify(data, null, 2));
});
</script>
</body>
</html>
Here's a
live version in JSBin. The JS file is defined as an AMD module, and loaded dynamically using RequireJS. Here's what the data file looks like:
define([], function(){ return [{"Sepal Length":"5.1","Sepal Width":"3.5","Petal Length":"1.4", ...
Hope this helps.
Best regards,
Curran