gpt4 book ai didi

jquery - 是什么阻止我使用 $.ajax 加载另一个域的 html?

转载 作者:太空宇宙 更新时间:2023-11-04 13:48:50 25 4
gpt4 key购买 nike

我的域名:

<!DOCTYPE html>  
<html>
<head>
<title>scrape</title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
<script>
$.ajax({url:'http://their-domain.com/index.html',
dataType:'html',
success:function(data){console.log(data);}
});
</script>
</body>
</html>

是什么阻止我抓取他们的域名?有解决办法吗?

附录:感谢大家对使用服务器端脚本的建议,但我目前有兴趣专门使用客户端来解决这个问题。

如果我使用“jsonp”格式化请求,我至少会得到一个响应,但会出现以下错误:“Uncaught SyntaxError: Unexpected token <”。所以我从他们的域得到响应,但解析器希望它是 json。 (它也应该如此。)我正在破解这个试图看看他们是否是一种欺骗客户接受这个响应的方法。请理解,我知道这是非典型的。

<!DOCTYPE html>  
<html>
<head>
<title>scrape</title>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
<script>
$.ajax({url:'http://their-domain.com/index.html',
dataType:'jsonp',
success:function(data){console.log(data);}
});
</script>
</body>
</html>

最佳答案

有四种方法可以绕过Same Origin Policy

  1. 代理 - 您从您的服务器请求它,您的服务器从其他域请求它,您的服务器将它返回给浏览器
  2. Flash cross domain policy - 其他域必须将 crossdomain.xml 文件添加到他们的站点
  3. Cross domain HTTP header - 其他域必须将 Access-Control-Allow-Origin header 添加到他们的页面
  4. JSONP - 这是一个提供回调函数的 json 网络服务。其他域必须实现这一点。

注意:在没有其他域帮助的情况下唯一方法是#1,通过您自己的服务器路由它。

关于jquery - 是什么阻止我使用 $.ajax 加载另一个域的 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com