" url.createObjectURL不是函数"页面中的JS错误

时间:2017-01-17 07:02:15

标签: javascript

当这个相同的页面被放入ASP.NET Core项目时抛出错误。

enter image description here



        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function(){
            if (this.readyState == 4 && this.status == 200){
                //this.response is what you're looking for
               // handler(this.response);
               // console.log(this.response, typeof this.response);
                var img = document.getElementById('image');
                var url = window.URL || window.webkitURL;
                img.src = url.createObjectURL(this.response);
            }
        }
        xhr.open('GET', 'http://chart.apis.google.com/chart?cht=qr&chs=200x200&chl=http://www.cognation.net/profile');
        xhr.responseType = 'blob';
        xhr.send();  

 <img id="image" />
&#13;
&#13;
&#13;

enter image description here

我认为我的系统存在问题。 即使是片段也不起作用,但在我朋友的系统中它可以正常工作。

我的系统

enter image description here

朋友的系统

enter image description here

2 个答案:

答案 0 :(得分:2)

错误是Javascript - 对于ASP.NET Core导致这样的问题最可能的罪魁祸首是标题:

  • 您是否设置了允许访问您正在调用的API的跨源标头?
  • 您是否有阻止数据URI的内容安全策略?

在胖胖的ASP.NET中,这些东西是默认设置的一部分,但在Core中,它们是您必须添加的特定中间件。

答案 1 :(得分:0)

此错误仅适用于我的系统。

在我朋友的系统中正常工作。

其他问题也很少

  1. JsFiddle没有提供任何解决方案。
  2. Stackoverflow代码段不起作用。
  3. 几乎没有类似的问题。我认为它与我的电脑有特殊关系。