gpt4 book ai didi

javascript - React/Rails AJAX POST 请求返回 404

转载 作者:行者123 更新时间:2023-12-03 05:08:26 24 4
gpt4 key购买 nike

我正在尝试在我的 React 组件中连接此 AJAX POST 请求,以与我的 Rails api Controller 进行通信。控制台记录了 404 错误,但我似乎无法 pry 开。

react/src/pages/HomeIndex.js

  getCompare() {
$.ajax({
url: '/api/sources/compare',
type: 'POST',
data: {value: this.state.inputValue, from: this.state.compareFrom, to: this.state.compareTo },
contentType: 'application/json'
})
}

Controller /api/sources_controller.rb

  def compare
binding.pry
end

配置/路由

  post '/api/sources/compare', to: 'api/sources#compare'

namespace :api do
resources :sources, only: [:index, :compare]
end

rake 动路线

api_sources_compare POST /api/sources/compare(.:format) api/sources#compare

更新

我尝试用几种排列更新路线...

  namespace :api do
resources :sources, only: [:index] do
collection do
post :compare
end
end
end

namespace :api do
resources :sources, only: [:index, :compare] do
collection do
post :compare
end
end
end

namespace :api do
resources :sources, only: [:index] do
collection do
resources :compare, only: [:compare]
end
end
end

namespace :api do
resources :sources do
post :compare
end
end

...所有结果都相同。

最佳答案

您可以通过对 AJAX 负载进行字符串化来解决此问题,如下所示:

getCompare() {
let data = JSON.stringify({value: this.state.inputValue, from: this.state.compareFrom, to: this.state.compareTo })
$.ajax({
url: '/api/sources/compare',
type: 'POST',
data: data,
contentType: 'application/json'
})
}

关于javascript - React/Rails AJAX POST 请求返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41928638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com