我需要使用jquery从RESTful Web服务检索数据

时间:2012-02-16 01:43:40

标签: jquery html ajax rest

我是这个RESTful网络服务的新手,所以我问你是否可以帮我解决这个问题。

我需要使用jquery从restful webservice中检索数据。现在我知道我可以使用$ .ajax或$ .getJSON来做到这一点,但问题是如果我的restful webservice需要输入用户名和密码以便检索数据,我该怎么做呢。谢谢

4 个答案:

答案 0 :(得分:2)

这取决于您的Web服务如何进行身份验证。

如果它是基于令牌的(通过cookie或其他),您将需要调用服务的登录方法,获取令牌(或cookie等),并将该令牌与您将来的请求一起发送。

其他方法需要进行其他调整;除非我们知道服务使用的身份验证方法,否则我们无法告诉您需要什么。

答案 1 :(得分:1)

如果您必须转到某个页面并输入用户名和密码才能获取数据,那么它就无法运行。如果是这样的话,它根本不是服务。并非每个页面都可以通过AJAX调用;除非设计时考虑到AJAX,否则它们通常无法实现。 " REST"并不意味着您可以通过AJAX有效地调用任何现有页面。它是一种使用标准URI和HTTP进行通信的服务,而不是SOAP等。(这是一个很大的简化,但不是一个糟糕的简化。)

你能控制这个"服务"?如果是这样,你可以:

  • 重写它以便它接受用户名/密码作为查询字符串参数。或者,
  • 假设它位于发布AJAX的页面所在的同一站点上,您是否可以将用户的会话凭据保存在cookie中?在许多框架中(在我的案例中为.NET),框架可以帮助您完成此任务并且相对容易。在我刚刚部署的网站中,到处都有REST AJAX,我不会对用户名/密码做任何事情。如果可能,请尽早处理。

顺便说一下,您是否正在使用SSL? (也就是说,您要去的网站,ajax或其他方式,以https开头?)

答案 2 :(得分:1)

理想情况下,您会拥有某种API密钥或会话密钥。

否则,您可以在调用中将它们作为参数传递。只是蕾妮,他们不再安全。

答案 3 :(得分:1)

您可以使用更复杂但更通用的ajax() - 将用户名和密码作为参数的函数。但请注意,您的用户可以在来源和请求中查看用户名和密码,这样会影响您帐户的安全性。