jquery和random.org“Access-Control-Allow-Origin不允许”

我在使用jQuery从random.org请求随机数时遇到问题。 当我使用静态页面和以下javascript时,我没有任何问题得到随机数。 但是,我正在Heroku上托管一个Sinatra应用程序(同样,当使用Thin在本地生产我的应用程序时)我得到“(Access-Control-Allow-Origin不允许”(网站)。“

function raffler(){ var rowCount = $('#winnerTable tr').length; $('#winnerButton').click(function() { $.get("http://www.random.org/integers/?", {num: "1", min: "1", max: rowCount, col: "1", base: "10", format: "plain", rnd: "new"}, function(randNum) { var myNumber = randNum; $("#entry-" + randNum).addClass('winner'); }); }); }; 

思考?

老实说,我不知道你怎么能以任何方式做到这一点。 因为你不应该这样做。 Access-Control-Allow-Origin是一种XSS保护,可阻止跨域请求,是大多数客户端脚本引擎(例如Flash)的一部分。 使用以下随机数生成:

 Math.random() 

好吧,快速检查,random.org不会返回任何 CORS标头。 这解释了为什么不允许您通过您的网站上的Javascript请求它。

你是否在本地加载了静态文件,即通过file:/// protocol? 还有其他安全措施,浏览器通常允许跨域AJAX。

使用jQuery YQL插件从此页面获取结果。

它通过使用Yahoo服务来获取所需页面的内容来绕过原点检查。

http://plugins.jquery.com/project/jquery-yql-plugin

但这是非常复杂的方式。 你为什么不使用Math.random()?