我正在使用一个基于 Web 的应用程序,该应用程序必须在第三方网站上向用户显示其帐户中的信息,他们将提供他们的登录详细信息,我必须从他们的帐户中提取数据并将其显示在我的基于 Web 的应用程序中,但问题是 第三方网站不允许其他任何人访问没有在其注册 IP 的帐户数据库 .因此,我不能使用任何服务器端或任何类型的代理,我必须使用用户ip来发送和接收站点的数据。
所以我的主要问题是">如何以任何基于客户端的语言获得跨域请求的响应"。我听说这是不可能的,因为它违反了跨域政策,但我发现一些网站告诉它可以使用 JSONP 和一些 src 属性。我实际上很困惑如何做到这一点.我需要该方法的示例,例如我向第三方站点发出请求并能够读取他们发送的 reone。
请帮助我.
谢谢
您不能让访问者的浏览器向任意网站发出 HTTP 请求并用 JavaScript 处理响应。
如果第三方已经构建了 JSON-P API,您可以使用它。
如果第三方支持 CORS(并且您的访问者具有兼容的浏览器(,那么您可以使用 XHR。
详细介绍这两种方法都没有意义,除非您被告知它们受支持。(如果第三方将其服务锁定到特定的 IP 地址,如果支持任何一个,我会感到惊讶(。
对于 JSONP 请求,您可以使用库或手动执行。对于后者,您可以插入一个新的 <script>
标记,其中包含一个包含所有请求信息和附加回调属性的 src
属性。
<script src="//remote.host.com/getJSONP.php?param1=0&callback=myFunc"></script>
然后,在您的页面中,您必须定义一个与回调同名的函数(此处myFunc
(,该函数处理响应。
function myFunc( data ) {
// do something with data
}
响应通常是一个或多或少复杂的 JS 对象,然后您可以在回调函数中使用它。
注意:您只能传递GET参数,而不能传递POST或任何其他类型!