跨域javascript访问localhost。可能?

时间:2010-05-18 21:24:20

标签: javascript cross-domain

由于某种原因我需要javascript访问localhost上的web服务器。这个localhost网络服务器在我们的控制之下,所以我们可以拥有其中运行的任何软件。

你会怎么做?我已经看过像YQL这样的东西,但它从互联网上访问另一个域 。这种访问会导致防火墙等很多问题。所以我想访问运行浏览器的同一台计算机。

如何使用javascript和localhost服务器上运行的任何软件来完成此操作?

此外,javascript正在从互联网站点运行。并且本地主机服务器不会在互联网网站上的同一端口上运行。

这可能吗?我知道跨域限制,但我也看到有很多方法,比如YQL。 YQL之类的工作原理如何?你会如何重新实现它?

2 个答案:

答案 0 :(得分:1)

您可以尝试类似JSONP的内容。

在JSONP中,您使用动态创建的脚本标记来访问其他域中的内容。 URL可用于将数据传递到服务器,返回的脚本可以调用回调来返回数据。据我记忆,对localhost发出请求没有特别限制(与文件系统不同),但我可能错了。

答案 1 :(得分:0)

由于它是不同的端口,因此将适用跨域访问的安全限制。

您可以在jQuery中使用getJSON调用进行跨域访问:

http://api.jquery.com/jQuery.getJSON/

这是一个关于如何通过上面提到的jQuery调用(使用JSONP)完成它的IBM教程:

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

如果您使用的是IE,则可以通过将尝试从脚本访问的站点设置为受信任的站点,将安全性设置为“跨域访问数据源”选项,快速整理解决方法。