无法执行从AJAX请求

时间:2018-03-26 22:31:21

标签: ruby-on-rails ajax reactjs axios

我有一个React应用程序,它将POST请求发送到带有Axios库的Rails控制器,该代码如下所示:

axios.post(update_url,{
    bunch_of_data: data
 }, {headers: {
    'Content-Type': 'application/json'
 }})
 .then(res => {
    const response_data = res.data;
    console.log(response_data);
});

控制器看起来像:

class MyController < ApplicationController
  skip_before_action :ensure_logged_in
  skip_before_action :authenticate_admin_user
  skip_before_action :verify_authenticity_token

  def update_feed
    respond_to do |format|
      format.js { render layout: false }
    end
  end
end

对于来自Rails应用程序内jQuery的AJAX请求,我通常不需要对路由做任何事情,但在这种情况下,如果我没有这个默认值,我会以HTML格式获取请求:

post '/update_feed' => 'mycontroller#update_feed', as: :update_feed, defaults: { format: 'js' }

我的Rails日志最终看起来像:

Started POST "/update_feed" for 127.0.0.1 at 2018-03-26 15:21:23 -0700
Processing by MyController#update_feed as JS
{"format"=>"js", "controller"=>"my_controller", "action"=>"update_feed"}
Rendering /update_feed.js.erb
Rendered /update_feed.js.erb (0.4ms)
Completed 200 OK in 2433ms (Views: 9.0ms | ActiveRecord: 74.1ms)

它说它呈现了js.erb文件,但Rails端没有任何反应。但是,我确实看到我的js.erb文件中的alert("!")从React应用程序内部的响应中打印出来(所以我在浏览器控制台中看到alert("!"))。但为什么不执行?

0 个答案:

没有答案