jquery / javascript:从任何网络服务器下载文件

时间:2014-04-28 18:38:57

标签: java javascript jquery ajax

我正在创建一个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,但我已被要求避免使用它。

1 个答案:

答案 0 :(得分:2)

如果你想进行跨域调用,你必须看看这个:

  

跨源资源共享(CORS)是允许的W3C规范   来自浏览器的跨域通信。通过建立在顶部   XMLHttpRequest对象,CORS允许开发人员使用相同的工作   习语为同域请求。

http://www.html5rocks.com/en/tutorials/cors/