参考此帖子https://stackoverflow.com/questions/22627392/extjs-fileuplaod-cross-origin-frame
当服务器端语言是PHP时,有人能告诉我如何设置值。我需要获取JSON数据。我在前端使用ExtJS。
完整情景:
我有一个代码将json文件上传到服务器然后获取此文件的内容作为响应,但上传后我得到{success:false,message:"Blocked a frame with origin "http://localhost:1842" from accessing a cross-origin frame."}
如果有更好的解决方案来读取位于客户端计算机上的json文件,它也会有所帮助。
我正在使用的代码是:
function(){
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
params: {
domain: document.domain
},
url: 'http://MY-IP/phpfileupload/file.php',
waitMsg: 'Graph Uploading',
success: function(fp, action) {
},
failure: function(fp, action) {
}
});
} }
答案 0 :(得分:1)
您遇到了same origin policy
,这是javascript的安全功能。
如果您通过javascript请求某些内容,则必须是:
否则你将得到上述例外。
你可以解决这个问题: