2014-09-06 52 views
0
function getData(){ 

    $.get("http://www.google.com/finance/getprices?q=.NSEI&x=NSE&i=60&p=1d&f=d, o, h, l, c, v", function(data){ 
     alert("Data:"+data); 
}); 

} 
getData(); 

上述网址以字符串格式给出响应,而不是JSON格式,因此我无法使用$ .getJSON。无法通过JavaScript以字符串格式向Google财经提供数据

我能够获得Java中的数据,但使用JavaScript,数据不来了,并且不执行该警报。

我怎样才能获得通过$.get方法从外部URL数据?

+1

请阅读相同来源政策。另外,变量应该是'data',而不是'Data'。 – Nit 2014-09-06 16:20:13

+0

我能够通过其他谷歌财务URL-https://finance.google.com/finance/info?client = ig&q = NSE获取jason格式的数据:RELIANCE – Rajat 2014-09-06 16:23:50

回答

0

您正在尝试从不同的域比它托管在,这是违反Same-Origin Policy的访问数据。实质上,这是为防止跨站脚本攻击而采取的安全措施。

因此,除非它支持CORS你不能要求一个不同的域。如果您在您的浏览器控制台看,你会看到这样的错误:

XMLHttpRequest cannot load http://www.google.com/finance/getprices?q=.NSEI&x=NSE&i=60&p=1d&f=d,%20o,%20h,%20l,%20c,%20v. Origin http://example.com is not allowed by Access-Control-Allow-Origin. 

ways around it,但这肯定是你为什么可以访问在Java中,而不是在JavaScript中的数据的原因。

+0

我能够通过其他谷歌获取jason格式的数据财务URL-finance.google.com/finance/info?client=ig&q=NSE:RELIANCE - – Rajat 2014-09-06 16:25:16

+1

@ user3367964是的,但无法向它发出请求,因为它也不支持CORS。 – AstroCB 2014-09-06 16:33:03

0

尝试使来自服务器的请求,而不是前端,例如,如果你正在做这一个节点的应用程序或Java应用程序,您的服务器上创建一个端点,然后公开为REST服务,然后使用$.get()xml http请求从UI调用该端点。

所以,基本上服务器将是获取这些数据,并通过它的前端,当你打电话给你的服务器上的端点。

相关问题