使用Ext.core提取csrf-token属性

时间:2011-10-20 14:51:19

标签: sencha-touch extjs

鉴于此HTML文档:

<!DOCTYPE html>
<html>
<head>
  <title>Sencha on Rails</title>
  <!-- styles, scripts etc. -->
  <meta name="csrf-param" content="authenticity_token" />
  <meta name="csrf-token" content="JzrbB8G0gpcKoWcnL8+AllPSXzUVwqDSp5yjgEGqYwk=" />
</head>
<body></body>
</html>

我如何使用Ext.core来提取csrf-token?

在jQuery中,我可以这样做:

var csrfToken = jQuery("meta[name=csrf-token]").attr("content");
> "JzrbB8G0gpcKoWcnL8+AllPSXzUVwqDSp5yjgEGqYwk="

我正在构建一个由rails支持的Sencha Touch应用程序,所以我不能使用jQuery。

1 个答案:

答案 0 :(得分:1)

您可以使用Ext.query(selector,root);获取令牌。

例如:

var csrfToken = Ext.query('meta[name=csrf-token]')[0].getAttribute('content');

请注意,Ext.query会返回与查询匹配的数组http://docs.sencha.com/touch/1-1/#!/api/Ext.ComponentQuery.Query-method-query

或者您可以使用Ext.select

var csrfToken = Ext.select('meta[name=csrf-token]').elements[0].getAttribute('content');