【发布时间】:2009-08-18 20:13:49
【问题描述】:
我想要一个链接,当您单击它时,它将调用一个简单的 ajax 查询来更新数据库条目。通常这很容易,但是因为在执行查询之前需要进行身份验证,所以我需要能够以当前登录用户的身份执行 Ajax 查询。 IE。我需要访问 $user 变量并且我不想创建新连接。
Drupal 是否有可以做到这一点的本机函数?有什么我可以用来做这件事的吗?
【问题讨论】:
我想要一个链接,当您单击它时,它将调用一个简单的 ajax 查询来更新数据库条目。通常这很容易,但是因为在执行查询之前需要进行身份验证,所以我需要能够以当前登录用户的身份执行 Ajax 查询。 IE。我需要访问 $user 变量并且我不想创建新连接。
Drupal 是否有可以做到这一点的本机函数?有什么我可以用来做这件事的吗?
【问题讨论】:
您将要创建一个模块来处理此问题。然后,您通过回调调用的任何函数都将完全了解登录用户。
【讨论】:
请记住,如果有人在他们的网站上创建了一个指向您的 AJAX 目标的链接,并且可以诱使人们点击它(或者,就此而言,将该链接作为 img 标签上的 src),那么奇怪的事情人们的数据可能会发生在他们没有意义的情况下。
我建议使用令牌并检查作为链接的一部分提交的令牌是否与用户相关。检查drupal_get_token() 以获得生成一个的好方法。
【讨论】:
要么在实现 hook_menu() 的模块中创建一个菜单项,并为处理此请求的函数指定回调 - 要么使用 Services 模块并创建一个新的服务模块。
【讨论】: