我要做的是为特定型号的Ember Data保存添加参数。我想要添加的参数将来自和调用我的Grails后端的ajax,以生成CSRF缓解的令牌。其中一个参数将是保存最终将与CSRF令牌一起调用的URL。在grails中,这些参数通常是表单的一部分,如下所示:
<input type="hidden" name="SYNCHRONIZER_TOKEN" value="714af404-b10a-459b-9e09-663a6e4cf6b3" id="SYNCHRONIZER_TOKEN">
<input type="hidden" name="SYNCHRONIZER_URI" value="url the save function is going to use" id="SYNCHRONIZER_URI">
答案 0 :(得分:0)
这是我的Ember JS Thread回复的副本:
@NathanOliver:
如果在模型实例上设置CSRF令牌,然后在该实例上调用.save(),则可能不需要隐藏输入。在标准实现中,这将触发现有资源上的PUT请求和新资源上的POST请求。
在正常情况下,您必须执行以下操作:
答案 1 :(得分:0)
所以我找到了另一种方式。我有一个mixin,它会覆盖保存功能。我构建了url,并确定是否应该发布帖子或从模型中放入(对于后来的ajax调用),然后我传递url来调用我拥有的后端服务,以生成令牌,然后我根据该信息发送ajax调用,最后我将结果放回商店。