JavaScript 中的 file_Get_contents
我想使用从我的网站执行的 javascript 从其他网站获取数据。
i want to get data from other sites using javascript executed from my website.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
PHPJS 网站提供了一些将 PHP 函数很好地转换为 Javascript 的方法。
The PHPJS website has some nice conversions of PHP functions into Javascript.
一般来说,除非他们使用 JSON-P,由于同源策略所施加的安全考虑,您不能这样做。
最近的浏览器支持权限系统,其中远程站点可以允许在远程站点上运行的 JavaScript 来创建要求。 Flash提供了类似的系统,因此可以充当中介。这两者都需要远程站点的配合。
通常的解决方法是使用代理服务,要么在您自己的系统上运行(因此 JS 向同一服务器发出请求,该服务器从远程站点获取数据),要么使用第三方服务,例如 YQL。
In general, unless they expose the data with JSON-P, you can't thanks to the security considerations imposed by the same origin policy.
Recent browsers support a permissions system where a remote site can allow JavaScript running on a remote site to make a request. Flash provides a similar system, so can act as an intermediary. Both of these require the cooperation of the remote site.
The usual work around is to use a proxy service, either running on your own system (so JS makes the request to the same server, which fetches the data from the remote site) or a third-party service like YQL.
Javascript 受到同域安全策略的限制。从其他站点获取数据的唯一方法是使用 JSONP 或在您自己的主机上构建一个代理,让您可以
curl
来自其他站点的内容。Javascript is limited by the same-domain security policy. The only way to get data from other sites is to use JSONP or build a proxy on your own host that lets you
curl
content from other sites.使用 jQuery:
除了 JavaScript 或 JSON 之外,您不能获取任何内容。
或者尝试这个答案:如何发送通过 JavaScript 跨域 POST 请求?
Use jQuery:
You may not fetch anything but JavaScript or JSON.
Or try this answer: How do I send a cross-domain POST request via JavaScript?
它必须在服务器端完成 - 发送 ajax 请求,运行所需的 PHP,然后检查
responseText
属性以查看结果。It has to be done server side - send an ajax request, run the PHP you want, and check the
responseText
property to see the results.这实际上取决于“数据”的含义。如果只是为了简单的请求,请尝试使用 AJAX。
That really depends on what you mean by "data". Try using AJAX if its just for simple requests.