9
我最近转向Google关闭一个新项目。我无法将真实性标记添加到ajax调用中的标题中。我如何去做呢?如何添加真实性标记?
我的Ajax代码段(使用goog.net.XhrIo类):
var initialHTMLContent = superField[i].getCleanContents();
var data = goog.Uri.QueryData.createFromMap(new goog.structs.Map({
body: initialHTMLContent
}));
goog.net.XhrIo.send('/blogs/create', function(e) {
var xhr = /** @type {goog.net.XhrIo} */ (e.target);
alert(xhr.getResponseXml());
}, 'POST', data.toString(), {
'Accept' : 'text/xml'
});
在后端使用Rails。
UPDATE:
登录:
Processing BlogsController#create (for 127.0.0.1 at 2010-06-29 20:18:46) [PUT]
Parameters: {"authenticity_token"=>""}
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Rendered rescues/_trace (272.4ms)
Rendered rescues/_request_and_response (1.2ms)
Rendering rescues/layout (unprocessable_entity)
我得到一个'#<::杂种HttpParserError:无效的HTTP格式,解析失败。>'。也许它没有考虑身份验证令牌?我用日志更新了我的问题。 – 2010-06-29 13:57:45
我已经更新了相应的答案。似乎你有一个普通的JavaScript文件中的这个调用。您需要在服务器上生成令牌,因此您需要在视图中执行此操作。 – 2010-06-29 14:21:40
我更新了我的问题。它没有把认证令牌考虑在内。 – 2010-06-29 14:52:51