我会尽力一一回答这些问题。如果没有更多代表,我不能发布两个以上的链接,所以只需删除链接前的“s”即可使用它们。
对于通过 javascript 的 http 请求,了解CORS很重要
CORS 教程
阿贾克斯,
退房也很有用
XmlHttpRequest
阅读有关 REST 的规范可能是了解 REST 是什么以及能够做什么的详细信息的最佳方式之一。寻找在编程中使用 REST 的教程很大程度上取决于语言。
1:创建什么样的 javascript 对象(例如 XMLHttpRequest?)
这取决于您的浏览器及其版本。
有:
在 IE7+、Firefox、chrome、safari 中发现的 XMLHttpRequests(这些浏览器的最新版本支持 CORS ,请在此处查看哪些。
XDomainRequests:在 IE 8 和 IE 9 中找到(支持 CORS)
activeXObject:在 IE 6、7、8、9、10 中找到(不支持 CORS)
您可以使用微软的 msdn api 参考了解更多关于 IE 特定对象的信息。通常快速谷歌搜索这些对象会有很好的结果。
2:如何构造url请求(构建查询)
假设这是用于构建请求的 javascript 取决于您将其发送到的服务器。我已经将您链接到几个链接,这些链接可以帮助您构建 http 请求并发送它。如果您想查看现在在实践中的实际实现,您可以查看:
apigee 的usergrid.js
第 67 行的请求函数(在我发布此内容时),
如果您想了解如何构建查询字符串(URI 后的“?”),请检查该链接中的 encodeParams 函数。请注意,有很多方法可以做到这一点。这只是一个。您可以轻松地将“param = value”附加到“uri”+'?
需要注意的是,Apigee 示例不兼容跨浏览器。它只是假设不是所有版本的浏览器都支持的 XMLHttpRequest 版本 2。
3:请求的各个部分如何与我所针对的应用程序(后端)相关。
如果您的目标是 kinvey,那么您提供的 RESTful api 链接确实是解释它的最佳方式。它详细说明了您尝试执行的操作的 url 和 http 请求标头应该是什么样的。Kinvey 的休息指南有更具体的 http 请求示例。进入 URL 的组件很大程度上取决于后端。如果您有更具体的问题,我可以尝试回答。
4:如何/在哪里/如果我的凭据适合
这又取决于后端/服务器。对于 Kinvey,他们使用 Basic Auth 和 OAuth。您应该查看他们的安全指南以获取更多信息。
如果您研究/研究了我发布的初始链接并了解了 http 请求,那么您的凭据将位于 httpRequest 的 Authorization 标头下。对于kinvey,它通常是这样的:
授权:"Basic" + Base64encoding[appId:appSecret] 或"Kinvey" + [authToken]
5:如何处理响应。
再次取决于后端/服务器。上述关于 AJAX 和 CORS 教程的链接向您展示了如何处理响应。
您可以获得许多不同的响应,xml、json、简单文本等。您想要的类型通常由您在请求标头的接受字段中指定,或者由服务器的响应标头的内容类型指定,它告诉您它发回的类型或可以发回,但这需要调用服务器一次以查看它默认发送的内容。许多 mBaaS 通常在其文档中指定响应
对于 kinvey,它们通常会发回 JSON,因此您只需使用 JSON.parse() 响应并从 JSON 对象访问您需要的数据。
希望这回答了您的部分或全部问题,如果有人认为我做错了什么或说了一些非常不准确的话,请告诉我。这是我第一次在堆栈溢出上发帖,但我在工作中使用了 kinvey 以及许多其他 mBaaSe。所以我对他们有了一点了解。
最后,如果你学到了你想要的东西,只需使用 Kinvey 的 javascript api,它将为你处理与 REST 的所有交互。除非您需要做一些 JS 框架不提供的更具体的事情,否则无需重新发明轮子。