【问题标题】:Get method do not work with a download URLGet 方法不适用于下载 URL
【发布时间】:2016-05-05 11:43:41
【问题描述】:

我正在尝试处理 HTML 请求。我有一个格式如下的 URL:

abc.def.com/download?fileid=123&entity_id=123&sid=123

点击后直接下载文件。我没有下载,而是尝试使用 HTML 请求获取它,并稍后使用代码处理它。当我将 urlString 设置为任何网站时,以下内容有效,但是当我使用实际 URL 时它不返回任何内容。这可能是什么原因?有什么东西阻止我请求下载链接内容吗?

var urlString = "http://abc.def.com/download?fileid=123&entity_id=123&sid=123";

$.get(urlString, function(data, status){
alert("Data: " + data + "\nStatus: " + status);});

注意:不确定是否相关,但文件本身是专有格式。

【问题讨论】:

  • 你面临CROS问题

标签: javascript html url httprequest http-get


【解决方案1】:

您无法读取来自跨域请求的响应,即不允许通过 ajax 调用不同域的 url。出于安全考虑,浏览器不允许 javascript 这样做。

详情请阅读https://en.wikipedia.org/wiki/Same-origin_policy

编辑: 为了完整性从 cmets 放置信息

this SO question 列出了解决它的广泛方法

【讨论】:

  • 有没有办法绕过它?我可以从链接下载它,所以它也应该可以通过代码访问,对吧?
  • 我目前正在尝试以下链接中的建议,但尚无法提出任何建议。 stackoverflow.com/questions/15005500/…
  • 如果您正在调用的域在您的控制之下,那么您可以启用 CORS en.wikipedia.org/wiki/Cross-origin_resource_sharing
  • 我没有域的控制权,但至少现在我知道了问题所在,这让我有一些工作要做。谢谢。
猜你喜欢
  • 2018-04-22
  • 1970-01-01
  • 2023-03-30
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多