Отправлять данные на контроллер Rails через AJAX - PullRequest
0 голосов
/ 04 мая 2019

Я использую веб-пакет для моего приложения рельсов.А вот мои js и контроллер:

const uppy = Uppy()
  .use(Transloadit, {
    params: {
      auth: {
        // To avoid tampering use signatures:
        // https://transloadit.com/docs/api/#authentication
        key: '903df5e32624447a9798d71db0d3b2cf'
      },
      template_id: '3526677204bf44fba43df0f6b68c82ee'
    },
    waitForEncoding: true
  })
  .use(Dashboard, {
      inline: true,
      target: '#drag-drop-area'
  })

uppy.on('transloadit:result', (stepName, result) => {
  //Pass result to my controller and save it to database 
  Rails.ajax({
    url: "/add_images_to_stray",
    type: "POST",
    data: result,
    success: function(data) {
      console.log(data);
    }
  });
}
)

Это действие моего контроллера:

def add_images_to_stray
  puts "HELLO WORLD"
end

Я получил эту ошибку с кодами выше:

POST http://localhost:3000/add_images_to_stray 401 (Unauthorized)

СледовательноЯ обновил коды AJAX следующим образом:

Rails.ajax({
    url: "/add_images_to_stray",
    type: "POST",
    beforeSend: function (xhr) {
            xhr.setRequestHeader('X-CSRF-Token', token)
        },
    data: result,
    success: function(data) {
      console.log(data);
    }
  });

Но ничего не произошло, кажется, / add_images_to_stray не был вызван.

...