Как я добавляю маркер подлинности?

Я недавно переключился на закрытие 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'
            });

Используя направляющие в бэкенде.

ОБНОВЛЕНИЕ:

Журнал:

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)
9
задан Shripad Krishna 29 June 2010 в 14:49
поделиться

1 ответ

Где-нибудь в rails view (файл.html.erb) вы можете установить js-переменную следующим образом:

window._token = '<%= form_authenticity_token %>';

А затем добавить ее в ваш вызов:

 goog.net.XhrIo.send('/blogs/create?authenticity_token=' + window._token, function(e) {
    var xhr = /** @type {goog.net.XhrIo} */ (e.target);
    alert(xhr.getResponseXml());
 }, 'POST', data.toString(), {
    'Accept' : 'text/xml'
            });
15
ответ дан 4 December 2019 в 12:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: