我正在开发一个页面,通过jQuery的AJAX支持从Flickr和Panoramio中提取图片。 Flickr方面工作正常,但是当我尝试从Panoramio中$.get(url, callback) ,我看到在Chrome的控制台中的错误: XMLHttpRequest无法加载http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150 。 Access-Control-Allow-Origin不允许Origin null。 如果我直接从浏览器查询这个URL,它工作正常。 这是怎么回事,我能解决这个问题吗? 我是否错误地编写了我的查询,或者这是Panoramio妨碍我所要做的事情吗? 谷歌没有出现任何有用的匹配的错误消息 。 编辑 以下是一些显示问题的示例代码: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150'; $.get(url, function (jsonp) { var processImages = function (data) { alert('ok'); }; eval(jsonp); }); }); 您可以在线运行该示例 。 编辑2 感谢Darin对此的帮助。 上面的代码是错误的。 用这个代替: $().ready(function () { var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&minx=-30&miny=0&maxx=0&maxy=150&callback=?'; $.get(url, function (data) { // […]
显然,我完全误解了它的语义。 我想到了这样的事情: 客户端从http:// siteA下载JavaScript代码MyCode.js – 来源 。 MyCode.js的响应头包含Access-Control-Allow-Origin:http:// siteB ,我认为这意味着MyCode.js被允许对站点B进行跨源引用。 客户端触发MyCode.js的一些function,而这些function反过来向http:// siteB发送请求,尽pipe它们是跨域请求,但应该没问题。 那么,我错了。 这根本就不行。 因此,我已经阅读了跨源资源共享,并尝试在w3c推荐中阅读跨源资源共享 有一件事是肯定的 – 我仍然不明白我该如何使用这个标题。 我完全控制了站点A和站点B.如何启用从站点A下载的JavaScript代码以使用此标头访问站点B上的资源? PS 我不想使用JSONP。
我有一个Grunt进程启动一个express.js服务器的实例。 直到现在,它开始提供一个空白页面,并且在Chrome(最新版本)的开发者控制台的错误日志中出现以下内容: XMLHttpRequest无法加载https:// www。[website] .com /否请求的资源上存在“Access-Control-Allow-Origin”标头。 原因' http:// localhost:4300 '因此不被允许访问。 什么阻止我访问页面?
我试图通过连接到内置在Flask中的RESTful API来使用JavaScript进行授权。 但是,当我提出请求时,出现以下错误: XMLHttpRequest无法加载http:// myApiUrl / login 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因'null'因此不被允许访问。 我知道API或远程资源必须设置标题,但为什么当我通过Chrome扩展邮差发送请求时,它会工作? 这是请求代码: $.ajax({ type: "POST", dataType: 'text', url: api, username: 'user', password: 'pass', crossDomain : true, xhrFields: { withCredentials: true } }) .done(function( data ) { console.log("done"); }) .fail( function(xhr, textStatus, errorThrown) { alert(xhr.responseText); alert(textStatus); });
我没有得到足够的睡眠或什么? 这下面的代码 var frame=document.getElementById("viewer"); frame.width=100; frame.height=100; var ctx=frame.getContext("2d"); var img=new Image(); img.src="http://www.ansearch.comhttp://img.dovov.cominterface/item/small/image.png" img.onload=function() { // draw image ctx.drawImage(img, 0, 0) // Here's where the error happens: window.open(frame.toDataURL("image/png")); } 抛出这个错误: SECURITY_ERR: DOM Exception 18 没有办法,这不应该工作! 有谁能解释这个吗?