【问题标题】:Download html in JS and send to server side?在JS中下载html并发送到服务器端?
【发布时间】:2012-01-05 05:29:47
【问题描述】:

我想通过 URL 将 JSON 字符串从服务器端发送到客户端。

然后客户端应该通过 JavaScript/JQuery 下载 HTML 文件并将内容发送回服务器端。

这应该在用户不需要交互的情况下发生。

是否可以通过 JavaScript/JQuery 让客户端下载 html 然后将其发送到服务器端?

更新

目的是让客户端下载html而不是服务器。

【问题讨论】:

  • 我不明白这个问题。你想做什么?

标签: javascript jquery json


【解决方案1】:

试试这样的:

var url = "http://www.google.com/";
var serverurl = "http://myserverurl/handler";
jQuery.get(url, "", function(data, status){
  jQuery.post(serverurl, jQuery.param({source: data}), function(data2, status2){
  }, "json");
}, "html");

这可能会满足您的需要:将 urlserverurl 变量设置为正确的值。

编辑:请注意,您将获得一些源代码,但除了最简单的页面实现之外,您只会获得页面 HTML 源代码,而不会获得媒体或 css 文件或动态加载的资源。

编辑:正如@Rocket 正确指出的那样,同源限制确实适用。这仅在您使用适当的CORS 设置访问服务器时才有效。

【讨论】:

  • 如果服务器端也可以要求客户端在收到html后下载图像,那就太好了。二进制数据可以以类似的方式发送吗?
  • 最大的问题是从 HTML 中正确解析出需要获取的图像:这会有点复杂,但您可以在服务器端提取所有图像链接,然后以 JSON 格式发回响应要获取的图像列表。不过,在客户端拉取这些图像然后将它们发送到服务器要复杂一些。
  • 这是如何工作的? $.get 不能随便下载任意 URL,这违反了同源政策。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-27
  • 2019-07-08
  • 2013-05-21
  • 2017-06-14
相关资源
最近更新 更多