我正在创建一个JS / JQUERY Web应用程序,它需要能够从任何服务器下载3d几何文件,然后在窗口中显示该文件。以下功能在本地用于此目的:
function file_download(fileName, callback)
{
var model = new Object();
$.ajax(
{
url: fileName,
dataType: 'text',
success: function(data)
{
model = new obj_create(data);
callback(model);
}
});
}
但是,每当我尝试输入服务器外部的URL时,都会出现以下错误:
XMLHttpRequest cannot load '<URL HERE>' No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<MY LOCAL SERVER'S URL>' is therefore not allowed access.
该文件可以在我的浏览器中手动打开,但不能通过ajax自动抓取。
我已经研究过尝试使用CORS请求执行此操作,但从我可以看到这将要求我能够编辑目标服务器上的权限。我需要能够从任意网络服务器下载文件。
我之前已经在论坛中上传图片,用于选择用户图标。这可以用JS和Jquery完成吗?如果必须,我可以使用PHP,但我已被要求避免使用它。
答案 0 :(得分:2)
如果你想进行跨域调用,你必须看看这个:
跨源资源共享(CORS)是允许的W3C规范 来自浏览器的跨域通信。通过建立在顶部 XMLHttpRequest对象,CORS允许开发人员使用相同的工作 习语为同域请求。