我有一個Rails應用程序與jquery-ui可排序列表。當用戶從一個列表拖到另一個列表時,wostatus_id字段被更新。所以,它在jQuery Ajax更新上失敗。jquery-ui sortable獲取錯誤 - PUT 501(未實現)
這在本地主機和Heroku上正常工作。但是,我將該應用程序移至Bitnami Virtual Server + Rails實施。我不知道它是否相關,但是我在新服務器上使用了node.js。
在這個新的服務器,我發現了瀏覽器控制檯上的錯誤:
PUT http://ndeavor.ameipro.com/workorders/2 501 (Not Implemented)
這是咖啡腳本:
$("#sort1, #sort2, #sort3, #sort4, #sort5, #sort6, #sort7").sortable
connectWith: ".connectedSortable"
cursor: "move"
update: ->
$.post($(this).data('update-url'), $(this).sortable('serialize'))
receive: (event, ui) ->
str_id = $(ui.item).attr('id')
woid = str_id.split('_')[1]
$.update "/workorders/" + woid,
workorder:
wostatus_id: $(this).data('wostatus-id')
感謝您的幫助!
UPDATE1
我得到了同樣的錯誤,當我使用fullcalendar護欄月視圖中拖動事件從一天到另一個。
UDPATE2
我發現這個「修復501錯誤代碼 客戶應指定一個有效的請求類型。即使之後,如果Web服務器響應不正確,那麼Web服務器只需要升級到修復問題。」
我敢肯定,請求是好的 - 相同的代碼已經在localhost和Heroku上運行了幾個月。所以,它必須與我使用的新虛擬服務器有關。
新的服務器是Bitnami Rails堆棧。它安裝了node.js。我正在運行Apache,Passenger和PG。
我該如何升級服務器來解決問題?
UPDATE3
這CoffeeScript中得到了相同的迴應:
updateEvent = (the_event) ->
$.update "/events/" + the_event.id,
event:
title: the_event.title,
starts_at: "" + the_event.start,
ends_at: "" + the_event.end,
description: the_event.description
UPDATE4
可能的Apache是停止使用PUT的?也許在https.conf中設置一些?
UPDATE5
相同的應用程序運行正常使用薄!!!!所以,我將嘗試使用Nginx和Thin。
UPDATE6
我無法讓它工作。因此,我將嘗試使用Nginx和5個精簡應用程序服務器。
UPDATE7
我現在有Nginx的和5臺瘦服務器運行Rails應用程序。我仍然得到501 PUT - jquery錯誤!
如果我在3000端口獨立運行瘦,它工作正常。
如果我在端口80上運行Thin獨立,我會得到相同的JQUERY PUT 501錯誤。
那麼,什麼是錯的,使用的端口我們的服務器80
它接近你的問題? https://www.geekisp.com/forum/index.php?topic=36。0; prev_next = prev – rbinsztock 2013-03-12 00:55:08
Senayar,它說「負載平衡器默認過濾PUT和DELETE」。如果這是我的問題,你知道我可以如何啓用它們嗎? – Reddirt 2013-03-12 13:19:31
我認爲主要問題來自你的apache conf。檢查您的apache使用的端口是否已被使用或轉發良好? fuser -n tcp port – rbinsztock 2013-03-12 18:54:02