抓取和检查数据库中的项目的url的特定元素
因此,我建立了一个程序,将发送电子邮件链接到人们想要注册一个网站,并在最后附加了一个GUID并存储该值在我的数据库中。我试图让他们点击链接并访问该页面时,程序将在最后解析出GUID并将其发送到我的后端,以检查它是否在数据库中,并且它们被允许查看注册页面。抓取和检查数据库中的项目的url的特定元素
这是一个可以发送一个例子URL链接:
http://localhost:3000/#/forgotPassword?gu=7d49695a-0f33-2270-4fb9-0cb4a8b2ba9a
我似乎无法找到一个好办法,只是抓住那是之后的信息“区=”。
第一个#
之后的部分URL将调用片段并且不会发送到服务器。这是规范的一部分,它解释了片段被用户代理保留用于自己的目的而不发送到服务器。
如果要将查询字符串发送到服务器,则需要删除#
或将查询字符串放在#
之前,然后可以在服务器上访问gu=xxx
。如果您使用Express作为您的服务器框架,那么您可以访问req.query.gu
以获取该值。
有关片段的更多信息,请参见Why the hash part of the URL is not in the server side?。
从您的意见中可以看出,您正在使用一些在URL中插入#
的框架(推测可能是某些客户端框架)。您必须修改该参数,以便查询参数在#
之前,或者#
根本没有插入到URL中。
我可以在角度的前端解析碎片字符串,并将其发送回变量为快递和节点抓取? – ppolicherla91
@ ppolicherla91 - 是的,你可以从角度抓住它,然后把它作为一个常规的查询参数放到你发送给你的服务器的ajax调用中,然后取回你的客户端Javascript可以做的事情。 – jfriend00
谢谢你的帮助!这指出了我的正确方向,我能够解决这个问题。 – ppolicherla91
为什么URL中的“#”?那是为什么? '#'之后的东西不会被发送到服务器。请参阅[为什么哈希部分不在服务器上](https://stackoverflow.com/questions/3664257/why-the-hash-part-of-the-url-is-not-in-the-server-side)for更多信息。 – jfriend00
尝试'req.query.gu' –
当我运行代码并使用本地主机访问页面时,会生成# – ppolicherla91