gpt4 book ai didi

javascript - Ruby 中的 AJAX 调用 : error 404

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:47 25 4
gpt4 key购买 nike

我是 ruby​​ 和 web 开发的新手,我已经为这个问题搜索了很多,但我仍然没有弄明白。

我有一个按钮:

<button type="button" class="btn btn-primary" onclick="add()">Add</button>

调用AJAX 函数:

<script>

function add() {
$.ajax({
type : "get",
url : "civil_defence_alerts/checkError",
data: null,
success: function (data) {
alert(data);
}

}

)
}
</script>

在我的“civil_defence_alerts_controller”中,我定义了一个名为 check_error 的方法:

def check_error

#Some code...

end

现在,当我点击按钮时,ajax 调用失败,因为找不到 check_error 方法(错误 404),我尝试了不同的 routes.rb 配置.. .这让我发疯!

谢谢你们,对不起我的英语:D

编辑,我的 routes.rb :

MyApp::Application.routes.draw do

mount Ckeditor::Engine => '/ckeditor'
get 'site/index'

apipie
mount Browserlog::Engine => '/logs'
get "home/index"

devise_for(:users, :controllers => {
:passwords => 'password'})

devise_for(:admins,
controllers: {registrations: 'admins/registrations'})


match 'admin', to: "admin/municipalities#index", via: [:get, :post]
resources :calendars
resources :garbage
resources :news, only: :show
resources :events, only: :show
resources :municipalities
resources :editable_strings
get 'misc/password_reset'

namespace :admin do
get 'superadmin_dashboard/index'
get 'superadmin_dashboard/activities'
get 'superadmin_dashboard/issues'

root to: 'dashboard#index'

resources :push_notifications, only: [:index, :show]
resources :rss_importer_logs, only: [:index, :show]
resources :poi_importer_logs, only: [:index, :show]
resources :features do
resources :strategies
end
resources :api_call_logs, only: [:index, :show]
require 'sidekiq/web'
require 'sidekiq/cron/web'
# require 'sidetiq/web'
authenticate :admin do
mount Sidekiq::Web => '/workers'
end
get 'dashboard/index'

get 'misc/test_notification'
post 'misc/test_notification_send'
resources :documents
resources :frontends, except: [:show, :destroy]
resources :operators
resources :users, only: [:index, :show, :destroy]
resources :municipalities do
resources :attachments do
collection do
get 'tinymce'
post 'tinymce'
end
end
get 'dashboard/index'
post 'dashboard/more_information'

collection do
get 'activate_municipality'
post 'activate'

end
member do
get 'suspend'
get 'reactivate'
end
resources :admins do
member do
get 'log'
get 'logs'
end
end
resources :calendar_types
resources :calendars do
resources :garbage_category_rules
member do
get 'manage'
get 'occurrences'
get 'download'
end
end



resources :civil_defence_alerts do
collection do
post 'update_alert'
post 'add_alert'
get 'get_alerts'
end
end
resources :civil_defence_phone_numbers
resources :civil_defence_informations

resources :documents
resources :events do
member do
get 'push_modal'
post 'push'
end
end
resources :event_categories, except: [:show]
resources :ckan_resources, except: [:show] do
resources :ckan_resource_logs, only: [:index]
member do
get 'run'
end
end
resources :garbage
resources :garbage_categories
resources :garbage_collections
resources :issues do
resources :issue_comments
resources :issue_emails
collection do
get 'export'
end
member do
delete 'really_delete'
get 'restore'
get 'unlink'
end
end
resources :issue_statistics, only: [:index]
resources :logs, :only => [:index, :show]
resources :menus, :only => [] do
resources :menu_items do
collection do
post 'update_order'
end
end
end
resources :municipality_services, except: [:show]
resources :site_menus, :only => [] do
resources :site_menu_items do
collection do
post 'update_order'
end
end
end
resources :municipality_sections, :only => [:index, :edit, :update]
resources :municipality_settings, :only => [:index, :edit, :update]
resources :news do
member do
get 'push_modal'
post 'push'
end
collection do
get 'update_from_feed'
end
end
resources :issue_categories
resources :news_categories
resources :point_of_interests
resources :point_of_interest_categories
resources :point_of_interest_categorie_with_childrens
resources :pages do
collection do
post 'update_order'
end
end
resources :site_pages do
collection do
post 'update_order'
end
end
resources :recycling_areas
resources :site_blocks do
collection do
post 'update_order'
post 'set_preferences'
end
end
resources :site_header_images do
collection do
post 'update_order'
end
end
resources :site_settings, :only => [:index, :edit, :update] do
collection do
get 'remove_site_logo'
end
end
resources :sponsors
resources :subdomains
resources :surveys
resources :tags, only: [:index]
resources :zones
end

resources :calendar_type_icons
resources :garbage_category_icons
resources :point_of_interest_category_icons

resources :provinces, only: [:index, :edit, :update]
resources :regions, only: [:index, :edit, :update]
end

# API Access


namespace :api, :defaults => {:format => 'json'} do
scope "(:frontend)", frontend: /site|tourism|municipium/, defaults:
{frontend: 'municipium'} do
api_version(:module => "v1", :path => {:value => "v1"}, :defaults =>
{:format => "json"}, :default => true) do
devise_for(:users, :controllers => {:sessions =>
"api/v1/sessions",
:registrations =>
"api/v1/registrations"})
resources :calendar_types, :only => [:index]
resources :calendars, :only => [:index, :show] do
collection do
get 'last_update'
end
member do
get 'last_update'
end
end
resources :devices, :only => [:index, :show] do
collection do
post 'remove'
post 'add'
post 'replace'
get 'count'
post 'update'
end
end

resources :garbage_categories, :only => [:index, :show] do
collection do
get 'last_update'
end
end
resources :garbage_collections, :only => [:index]

resources :garbage_subscriptions, :only => [:index] do
collection do
post 'remove'
post 'add'
end
end
resources :events, :only => [:index, :show]
resources :event_categories, :only => [:index, :show]
resources :issues
resources :issue_categories, :only => [:index]

resources :municipalities, :only => [:index, :show]
resources :municipality_subscriptions, :only => [:index] do
collection do
post 'add'
post 'remove'
post 'set_as_primary'
end

end
resources :news_categories, :only => [:index, :show]
resources :news_subscriptions, :only => [:index] do
collection do
post 'remove'
post 'add'
end
end
resources :news, :only => [:index, :show]
resources :pages, :only => [:index, :show]
resources :point_of_interest_categorie_with_childrens
resources :point_of_interest_categories, :only => [:index] do
resources :point_of_interests, :only => [:index, :show]
end
resources :point_of_interests, :only => [:index, :show]
resources :recycling_areas, :only => [:index, :show]
resources :user_profile, :only => [:index, :show] do
collection do
post 'destroy_user'
post 'reset_password'
post 'update_details'
post 'get_details'
post 'meta_login'
post 'change_password'
post 'facebook_login'
post 'remove'
end
end
resources :sponsors, only: [:index, :show], defaults: {format: 'json'}
resources :surveys do
member do
get 'get_questions'
post 'vote'
end
end
resources :zones, :only => [:index, :show]
end
api_version(:module => "v2", :path => {:value => "v2"}, :defaults => {:format => "json"}) do
devise_for(:users, :controllers => {:sessions => "api/v2/sessions",
:registrations => "api/v2/registrations"})
resources :admins, only: [:index] do
collection do
post 'auth'
end
end
resources :calendars, :only => [:index, :show] do
collection do
get 'last_update'
end
member do
get 'last_update'
end
end
resources :civil_defence_alerts, only: [:index]
resources :civil_defence_informations, only: [:index, :show]
resources :civil_defence_levels, only: [:index, :show]
resources :civil_defence_phone_numbers, only: [:index]
resources :devices, :only => [:index, :show] do
collection do
get 'remove'
post 'remove'
post 'add'
post 'replace'
get 'count'
post 'update'
post 'device_cleanup'
end
end
resources :garbages, :only => [:index] do
collection do
get 'last_update'
end
end
resources :garbage_categories, :only => [:index, :show] do
collection do
get 'last_update'
end
end
resources :garbage_collections, :only => [:index]

resources :garbage_subscriptions, :only => [:index, :update] do
collection do
post 'remove'
get 'remove'
post 'add'
end
end
resources :events, :only => [:index, :show]
resources :event_categories, :only => [:index, :show] do
resources :events, only: [:index, :show]
end
resources :issues do
collection do
get 'migrate'
end
end
resources :issue_categories, :only => [:index]
resources :tags, :only => [:index]
resources :issue_statistics, :only => [:index]
resources :menus, only: [:index, :show]
resources :site_menus, only: [:index, :show]
resources :municipalities, :only => [:index, :show] do
collection do
get 'find_by_subdomain'
end
end
resources :municipality_services, only: [:index]
resources :municipality_subscriptions, :only => [:index] do
collection do
post 'add'
post 'remove'
post 'set_as_primary'
end

end
resources :news_categories, :only => [:index, :show] do
resources :news, only: [:index, :show]
end
resources :news_subscriptions, :only => [:index] do
collection do
post 'remove'
post 'add'
end
end
resources :news, :only => [:index, :show]
resources :pages, :only => [:index, :show]
resources :site_pages, :only => [:index, :show]
resources :point_of_interest_categorie_with_childrens
resources :point_of_interest_categories, :only => [:index] do
resources :point_of_interests, :only => [:index, :show]
end
resources :point_of_interests, :only => [:index, :show]
resources :public_offices, only: [:index]
resources :recycling_areas, :only => [:index, :show]
resources :site_blocks, only: [:index, :show]
resources :site_header_images, only: [:index]
resources :searches, only: [] do
collection do
post 'search'
get 'search'
end
end
resources :user_profile, :only => [:index, :show] do
collection do
post 'destroy_user'
post 'reset_password'
post 'update_details'
post 'get_details'
post 'meta_login'
post 'change_password'
post 'social_login'
post 'remove'
post 'update_access'
end
end
resources :sponsors, only: [:index, :show], defaults: {format: 'json'}
resources :surveys do
member do
get 'get_questions'
post 'vote'
end
collection do
get 'migrate'
end
end
end
end

end
end

最佳答案

为您的 check_error 方法添加相应的路由:

resources :civil_defence_alerts do
collection do
...
get 'check_error'
end
end

并且在您的请求中,您需要传递相应的路由 URI(正如您在 ajax 函数的 url 选项中定义的那样),例如:

function add() {
$.ajax({
url: 'civil_defence_alerts/check_error',
success: function (data) {
alert(data)
}
})
}

请注意,如果请求是 GET,则无需指定它。

关于javascript - Ruby 中的 AJAX 调用 : error 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46151019/

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