问题
在Chrome中的控制台输出错误的页面如下:

错误信息:

Access to XMLHttpRequest at 'file:///D:/xxxx/xxx.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

这里的xxx.json是本地的一个JSON文件。

发生场景
在不启动服务器或不使用 sencha app watch启动开发服务器, 而是以单个文件测试Ext JS相关功能, 也就是使用Chrome直接打开一个本地的html文件。在该文件源码中,使用了proxy获取数据,数据源使用的是文件名为mydata.json的文件。

			proxy : {
				type : 'ajax',
				url : 'mydata.json',
			}

原因及解析
在浏览器打开本地的html文件, 上面proxy中的url获取的就是一个本地文件, 协议是file://,如果是在服务器启动的话,则使用的是http或者https协议。
出于安全性考虑, Chrome默认禁止了这种用法

更多推荐

Access to XMLHttpRequest at ‘file:///D:/xx/xxx.json‘ from origin ‘null‘ has been