如何将数据从一条路线传输到另一条路线

时间:2019-07-04 05:25:05

标签: node.js express

我执行用户注册。我有两条路线。

 private List<String> getSunList() {

    ArrayList sunList = new ArrayList<String>()
    String sun_json = your_json_string
    try {
        JSONObject jsonObject = new JSONObject(sun_json)
        Log.d(TAG, "jsonObject: "+jsonObject)
        Log.d(TAG, "jsonObject: "+sun_json)
        JSONArray jsonArray = jsonObject.getJSONArray("sun_timing")
        for (i in 0 until jsonArray.length())
        {
            JSONObject obj = jsonArray.get(i) as JSONObject
            String sun_from = obj.getString("sun_from")
            String sun_to = obj.getString("sun_to")
            sunList.add(sun_from)
            Log.d(TAG, "obj= "+obj)

        }

    }
    catch (e: java.lang.Exception)
    {

    }

    return sunList
}

我需要从路线,用户注册到路线,用户确认发送数据。

如何将用户数据发送到第二条路由进行确认?

2 个答案:

答案 0 :(得分:2)

有两种实现此功能的策略(可能更多):

策略1:将user存储在服务器中。

您可以存储user对象,并在服务器中为其分配一个唯一的键(例如uuid)。 user数据可以存储为全局变量(存储在Node.js进程的内存中),也可以存储在内存数据库(例如Redis)中(如果您使用多个Node.js进程)。

POST /signup路由处理程序中,user数据可以写入服务器,并且此新创建的用户ID将返回给浏览器。然后,在POST /verify路由处理程序中,服务器将通过其ID检索相应的用户数据。

策略2:将user存储在浏览器中。

另一种策略是在user路由处理程序中将整个POST /signup数据返回给浏览器,然后让浏览器在以下POST /verify请求中将其发送回去。有两种方法可以实现此设计(可能更多):

  • 通过userSet-Cookie数据返回到浏览器。浏览器会自动将用户数据作为Cookie发送。

  • user数据作为普通响应正文返回给浏览器。浏览器将其保存到localStorage或sessionStorage中。然后,在发送POST /verify请求时,浏览器将读取该数据并将其作为纯HTTP请求正文放置。

答案 1 :(得分:0)

解决此问题的最佳方法是将用户数据存储为浏览器cookie。不建议将用户数据存储在本地存储中,因为JavaScript可以访问用户数据,从而构成安全威胁。