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。
我能够使用Java获取数据,但是使用JavaScript时,数据不会出现,并且不会执行警报。
如何通过$.get
方法从外部网址获取数据?
答案 0 :(得分: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访问数据的原因。
答案 1 :(得分:0)
尝试从服务器而不是前端发出请求,例如,如果您在节点应用程序或Java应用程序上执行此操作,请在服务器上创建端点,然后将其作为休息服务公开,然后调用来自UI的端点使用$.get()
或xml http
请求。
因此,基本上,当您在服务器上调用该端点时,服务器将获取该数据并将其传递到前端。