[英]application framework which support DOM parsing and cross-site ajax
我想制作一个可以获取不同网站并从其 DOM 中提取数据的应用程序。 我打算在 Google Web Toolkit 中使用 XMLHttpRequest 来制作它。 但是,由于同源策略,XMLHttpRequest 似乎不起作用。
我想知道是否存在任何其他支持 DOM 解析和跨站点 Ajax 特性的应用程序框架?
jquery 和 dojo 之类的所有类型,YUI 通过 hack 支持跨浏览器请求。
由于同源策略,您无法向其他域发出 ajax 请求,因此要使此类请求成为常用的 hack http://en.wikipedia.org/wiki/JSONP
演示来描述功能
Site-1 的脚本
function MakeThirdPartyRequest()
{
//make sure this domain returns pure json
var Url="http://SomeOtherDomain.com";
//now using javascript you add this TAG to body of html
<script src="Url" type="text/javascript"></script>
}
function jsonFromThirdParty(data)
{
alert(data);
}
站点 2 应以这种格式返回数据
jsonFromThirdParty("hello iam data from other domain");
您可以使用一些第三方 javascript 库
下面是进行跨域 ajax 请求的代码
jQuery.ajax({
url:'http://some_domain',
dataType:'jsonp',
type:'get',
success:function(data)
{
alert(data);
}
});
从其他域您只能下载 JSON 数据。 由于安全原因,HTML 或 XML DOM 将无法访问。 在这种情况下,我看到两个选项:
您将向页面源服务器发出请求,该服务器会将请求代理到实际的 web 服务器,从而绕过安全限制。
您可以使用某些服务将 HTML 或 XML 转换为 JSON。 我只知道http://open.dapper.net/这样做,但您需要首先在页面中手动定义记录,因此它仅适用于预定义的页面集,而不适用于例如用户输入的 URL。 但也许有 XML 到 JSON 转换器可以转换任何给定的 URL。 做到这一点并不难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.