2011-03-23 70 views
1

我的本地机器上运行着一个在sinatra和jruby上运行的与SQL Server交互的API。现在,“本地主机:4567 /得/ 233310/LOC”返回一个JSON对象使用javascript为本地托管API中的JSON对象提供http请求

[{"uid":233307,"lat":41.4191113333333,"long":-72.8941905}] 

我想要做什么,现在是让这个JSON对象和每一个对象的分配给我的JavaScript的变量。 。我认为最好用http请求完成? (如果有更好的方法..请让我知道)。

最终,我需要这个每30秒发出一次请求,但我会在稍后处理。

任何人都可以帮助我吗?

谢谢。

+1

这是一个标准的XMLHttpRequest(AJAX)调用。阅读[文档](https://developer.mozilla.org/en/using_xmlhttprequest),然后根据需要添加具体的问题。确保一切都在同一个域中。另外,你可能会发现像jQuery这样的库很有帮助。 – 2011-03-23 21:27:14

+0

@MthetheFFlaschen感谢您的回复。我会尝试一下。 – Jebish 2011-03-23 21:32:02

回答

0

另一个有用的库叫做Prototype。阅读在这里:

http://www.prototypejs.org/

的代码,以使在原型这样的要求是很容易的。只需在您的网页上Prototype.js库:

<script src="prototype.js"></script> 

然后运行该代码:

VAR URL =的 'http://本地主机:4567 /得/ 233310/LOC'; 新的Ajax.Request(URL,{ 方法: '得到', 的onSuccess:功能(传输){ VAR JSON = transport.responseJSON; window.alert(json.inspect());} });

完成后,您应该看到一个弹出警报,显示您的JSON对象的内容。

您的服务器端脚本应提供JSON的HTTP头“Content-Type”设置为“application/json”,以便客户端脚本代码知道它应该尝试将其解析为JSON。

希望这是有用的。

+0

非常感谢您的回复。我尝试了代码,它的工作(有点)。它正在与本地主机上运行的API进行通信。但是我得到两个错误:1)XMLHttpRequest无法加载http:// localhost:4567/get/233310/loc。来源null不被允许的访问控制允许Origin.AND,2) 2Refused得到不安全的标题“X-JSON”。 另外我的服务器端脚本是用Jruby(Sinatra)编写的。那么有什么想法? – Jebish 2011-04-05 14:44:23