ajax

Drupal 7 使用 Services 自定义 API


在 Drupal 7 下使用 Services 模块定义 api,可以很方便的使用各种认证、端点管理。

支持 OAuth、Session等。

如果不勾选认证方式,会使用匿名用户。

这样会导致如果登录的时候调用了一个无需认证的接口,会导致用户退出。建议勾选 session 认证。

使用 OAuth 认证的时候返回的数据 headers 中包含 cookie 信息,属于 OAuth  Consumer 所属 user 的 cookie。可以使用此 cookie 来登录用户。如果同时勾选了 Session 认证就会导致 csrf 错误。

Drupal Services 模块的前端js调用方法


为了实现前端接口化,研究了Drupal的services模块。结果研究的不彻底,没有实现用js调用的功能。就自己写了一个tpl_api模块。

结果最近再次研究services的时候发现原来是可以调用的,瞬间我哪个心情,这意味这tpl_api模块是白开发了。而且导致前端可能还需要重写。

这里简单说明一下怎么使用services的js调用。

其实TMD很简单,带一个  ?services_token=xxxxxxxxxxxxxx   呵呵呵呵。这个token可以直接访问 services/session/token  路径获取。这个使用的是 Session authentication  JS调用也只能使用 Session authentication 验证吧。

drupal ajax 框架 和 rules 配合使用


使用Drupal ajax框架做前端事件收集。

使用rules定义事件,做业务规则引擎组件。

使用rules完成业务。

模块定义业务需要的动作和条件。

前端页面分块,提供块管理。块的使用按需注入不同的变量。或绑定不同的事件触发。