у меня есть это в моем рельсах маршрута:jQuery возвращает 404 для действительного маршрута рельсов?
scope '/api' do
# ...
resources :callbacks, only: [:create]
end
Он был работает (возвращая 500 ошибки), но я установил, что и вдруг я получаю сообщение об ошибке 404, когда это запустить эту битый CoffeeScript:
$('.add-callback button').on 'click', (e) ->
$form = $(@).parent()
$data =
notes: $form.find('[name="callback-notes"]').val()
date : $form.find('[name="callback-date"]').val()
time : $form.find('[name="callback-time"]').val()
$.ajax
type: "POST",
url: "/api/callbacks",
data: $data,
success: (data) ->
if data.success
$form.fadeOut ->
location.reload true
и возвращает это:
POST http://localhost:3000/api/callbacks 404 (Not Found)
Но POST /api/callbacks
находится в списке действительных маршруты, когда вы получаете 404 в другом месте:
callbacks_path POST /api/callbacks(.:format) callbacks#create
Любые идеи?
Вы не указали очевидный бит информации: что произойдет, если вы просто наберете 'http: // localhost: 3000/api/callbacks' в адресную строку браузера? Теоретически, я ожидаю, что вы получите ошибку из-за использования GET, а не POST, но если вы получите 404, которые предложили бы проспект расследования ... Или используйте 'wget' или' curl' или аналогичные POST к нему. *** *** очень маловероятно, что проблема jQuery здесь. –
Возвращает 404 из-за того, что это запрос GET. Но я включил строку в поле «правильные маршруты» страницы 404, в которой указано, что указанное выше должно быть действительным. Я попробовал 'CuRL', но я получаю' Недопустимый токен аутентификации' – andy