Javascript 使用API将外部数据加载到PhoneGap应用程序

Javascript 使用API将外部数据加载到PhoneGap应用程序,javascript,android,ajax,cordova,phonegap-plugins,Javascript,Android,Ajax,Cordova,Phonegap Plugins,我想用API与我的服务器通信 我的第一个问题:是否可以编写自己的API并与Phonegap一起使用? 此应用程序将: 在SHA1中发送登录密码 API将返回令牌,或者SLUG将存储在本地,这将允许(或不允许)访问应用程序的内容:换句话说,验证是否成功 成功身份验证后,应用程序向API发送一个POST请求,请求中包含令牌的值,以检索与令牌相关的数据(与用户相关) 以JSON检索的查询结果 我的第二个问题:它如何工作?我需要什么? 谢谢你的帮助 完全有可能做到你所要求的一切。您可以使用从客户端到

我想用API与我的服务器通信

我的第一个问题:是否可以编写自己的API并与Phonegap一起使用?

此应用程序将:

  • 在SHA1中发送登录密码

  • API将返回令牌,或者SLUG将存储在本地,这将允许(或不允许)访问应用程序的内容:换句话说,验证是否成功

成功身份验证后,应用程序向API发送一个POST请求,请求中包含令牌的值,以检索与令牌相关的数据(与用户相关)

以JSON检索的查询结果

我的第二个问题:它如何工作?我需要什么?


谢谢你的帮助

完全有可能做到你所要求的一切。您可以使用从客户端到服务器端的ajax调用,并获取所需的所有数据,即连接令牌

因此,对于您来说,以下几点:

  • “在SHA1中发送登录名/密码”:从DOM中获取登录名/密码对,在SHA256中转换(优于SHA1),通过ajax发送到服务器
  • 以JSON格式从服务器返回结果。如果成功,则获取给定的令牌并在本地临时存储
  • 使用令牌调用从客户机到服务器的每个通信API,这样就可以确定用户身份
  • 我还建议在个人数据由应用程序管理的情况下使用https协议

    你需要什么?JS和/或jQuery经验,(可能)管理客户端和服务器端的所有代码,开发时间到了。我还建议您使用一个很棒的在线工具来跟踪所有的客户机/服务器通信和调试

    ////编辑////

    • 如何与API交互:我是一名客户端开发人员,因此我可以向您发送一个代码片段以登录:
    email=$(“#email”).val()
    密码=$(“#密码”).val(); var newdatatosend=电子邮件+“/”+密码
    var datatosend={“login”:window.btoa(newdatatosend)}; $.ajax({ 类型:“POST”, url:url\u main+url\u api+url\u登录, 数据类型:“json”, 数据:JSON.stringify(datatosend), contentType:“应用程序/json” }) .完成(功能(数据){ //以下是从服务器接收的数据:连接令牌 })

    • 如您所知,我从服务器接收令牌(如果我的凭据是正版的),并将其存储在会话存储中(当应用程序关闭时,本地存储是空的)。无论如何,您应该在服务器端管理令牌的过期时间(2小时?12小时?)。因此,当客户端尝试使用其旧的存储令牌时,您应该要求再次登录以刷新会话
    • 要使用会话存储,只需使用set/get函数:


    谢谢您的回复。我对整个操作已经很了解了。我想知道的是,如何与API进行交互。我也想知道令牌是如何工作的,如何存储它,以及可能的使用建议(特定令牌的有效期)。我知道JavaScript和JQuery,但对JQuery有一点偏好。我想最大限度地处理客户端的事情,以期在未来有一个重要的用户群,并避免使用最大的服务器。
    sessionStorage.setItem('mytoken', token);
    var token = sessionStorage.getItem('mytoken');